我试图将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