我目前正在尝试通过 Google Volley 向我的服务器发送一个简单的 POST 请求。因此,我编写了以下代码行:
Map<String, String> params = new HashMap<String, String>();
params.put("regId", "skdjasjdaljdlksajskl");
JSONObject object = new JSONObject(params);
JsonObjectRequest request = new JsonObjectRequest(Method.POST,
"address_of_my_server/method", object,
successListener, errorListener);
queue.add(request);
但我得到一个错误 500 返回,它表示缺少参数 (regId)。我对 GET-Request 进行了同样的尝试,但得到了相同的结果。
只有当我使用带有格式 URL(如“address_of_my_server/method?regId=sadlasjdlasdklsj”)的 StringRequest 时,服务器才会回复 200。
当我使用 StringRequest 时,我得到完全相同的结果,例如:
StringRequest request = new StringRequest(Method.POST,
"myurl", successListener,
errorListener){
@Override
protected Map<String, String> getParams()
throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("regId", "skdjasjdaljdlksajskl");
return params;
}
};
为什么 Volley 忽略了我的参数?