如何添加请求Body?

How to add Request Body?

如何将请求 body 添加到我的代码中,就像使用 Postman 的 body 选项卡一样。我弄清楚了只请求 header。 

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final TextView textView = findViewById(R.id.textView);
        String url = "url";
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        JsonObjectRequest objectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                Log.e("Response : ",response.toString());
                textView.setText("Success!");
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("Response error : ",error.toString());
                error.printStackTrace();
                textView.setText("Failed!");
            }
        }) 
        {
            @Override
            public Map getHeaders() throws AuthFailureError {
                HashMap headers = new HashMap();
                headers.put("accept-language","EN");
                headers.put("authorization","<autho>");
                headers.put("requestUId","<requestID>");
                headers.put("resourceOwnerId","<resorceOwnerID>");
                return headers;
            }
        };
        requestQueue.add(objectRequest);
    }
}

引用 Postman 的头部标签:

https://s3.amazonaws.com/postman-static-getpostman-com/postman-docs/58960775.png

谢谢

如下所示创建您的 JSONObject 请求:

JSONObject jsonBody = new JSONObject();

try {
    jsonBody.put("firstname", "asd");
    jsonBody.put("lastname", "asd");
    jsonBody.put("id", "1");
} catch (JSONException e) {
    e.printStackTrace();
}

那么JsonObjectRequest()构造函数中的第三个参数就是request,你当前传的是null。将其替换为 jsonBody.

编辑

如果您希望在请求正文中发送参数,还必须将 HTTP 方法更改为 POST 而不是 GET。