使用有效载荷Volley发送GET请求

时间:2019-12-23 16:01:41

标签: java android android-volley

我想在Android Studio中使用Volley发出GET请求,并且此请求中要包含主体。 问题在于,使用GET请求时,服务器中的正文为None(我正在使用Flask)。另一方面,使用POST方法时,主体可以正确到达服务器。这是我的代码:

        RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
        String url = Globals.WINGS_VEHICLES_URL;

        JSONObject payload = new JSONObject();
        try {
            payload.put("user_id", Globals.USER_ID);
        } catch (JSONException e) {
            e.printStackTrace();
        }

        final String requestBody = payload.toString();
        System.out.println(requestBody);

        StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                System.out.println(response);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
            }
        }){
            @Override
            public String getBodyContentType() {
                return "application/json";
            }

            @Override
            public byte[] getBody() {
                return requestBody.getBytes();
            }


        };

        stringRequest.setRetryPolicy(new DefaultRetryPolicy(0, 0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
        queue.add(stringRequest);

这是排球限制,还是我做错了什么?假设我使用JSONObject作为正文,非空。

1 个答案:

答案 0 :(得分:0)

请检查此答案
HTTP GET with request body

并使用POST Http方法发送正文!