[Android Studio]射击方法返回400错误.邮递员可以工作



我试图将jsonrequest发送给我的项目服务器,并希望将jsonobject作为响应。以下是我的代码。

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, Const.URL_SERVER_STOCK, null
            , new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            System.out.println("Response is: "+response.toString());
            test.setText(response.toString());
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.d(TAG,"Error: " + error
                    + "nStatus Code " + error.networkResponse.statusCode
                    + "nResponse Data " + error.networkResponse.data.toString()
                    + "nCause " + error.getCause()
                    + "nmessage" + error.getMessage());
        }
    }){
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String> header = new LinkedHashMap<String, String>();
            header.put("Content-Type", "text/plain;charset=UTF-8");
            return super.getHeaders();
        }
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String,String> params = new HashMap<String, String>();
            params.put("stockId", String.valueOf(id));
            return params;
        }
    };
    AppController.getInstance().addToRequestQueue(jsonObjectRequest);

以下是我得到的:

I/System.out: id passing: 2
E/Volley: [3415] BasicNetwork.performRequest: Unexpected response code 400 for http://cs309-jr-4.misc.iastate.edu:8080/stock
D/str_log_req: Error: com.android.volley.ClientError
    Status Code 400
    Response Data [B@e14f879
    Cause null
    messagenull

以下是我的邮局结果:在此处输入图像描述在此处输入图像描述

由于这是一个get,您应该在url

中包含参数
Const.URL_SERVER_STOCK + "?stockId=" + selectedId;

射击getParam()可用于未获取方法的邮政方法。请按照以下教程获取详细信息:https://www.itsalif.info/content/android-volley-tutorial-http-get-post-put

相关内容

最新更新