【发布时间】:2018-01-25 13:35:22
【问题描述】:
尝试注册用户但收到错误意外响应代码 404,虽然 URL 正确,但参数也正确,我已经在 POSTMAN 上对其进行了测试,它工作正常,但是当我尝试发出请求时它给出:
E/Volley:[19358] BasicNetwork.performRequest:给定 URL 的意外响应代码 404
这个参数好像没有附在网址上,不过我也做了一个自定义的请求,但是还是不行,请帮忙解决一下。
注意:唯一的标题是“application/x-www-form-urlencoded”;
private void registerUser()
{
StringRequest stringRequest = new StringRequest(Request.Method.POST, APIReference.USER_REGISTRATION_URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
Toast.makeText(mContext,jsonObject.getString("status"),Toast.LENGTH_LONG).show();
showSnackbar(jsonObject.getString("status"));
JSONObject object = jsonObject.getJSONObject("response");
User user = new User(object.getString("user_id"),
object.getString("user_name"),
object.getString("user_email"),
object.getString("user_phone_no"));
Toast.makeText(mContext,String.valueOf(jsonObject.getJSONObject("response")),Toast.LENGTH_LONG).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("response error : ", String.valueOf(error));
showSnackbar(String.valueOf(error));
}
})
{
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("user_name", mUserName);
params.put("user_email", mUserEmail);
params.put("user_password", mUserPassword);
params.put("user_phone_no", mUserMobileNo);
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("Content-Type", "application/x-www-form-urlencoded,charset=utf-8");
return params;
}
@Override
public String getBodyContentType() {
return "application/x-www-form-urlencoded,charset=utf-8";
}
};
VolleySingleton.getInstance(mContext).getRequestQueue().add(stringRequest);
}
【问题讨论】:
-
在 getHeaders() 中,您也需要输入 api 密钥,并请提供您尝试使用的其余 api,或者检查页面是否有故障排除,这些错误告诉您应该是什么
-
尝试将内容类型更改为 application/json
-
你在这个日志“响应错误”上得到空值吗?@harpalSingh
-
@IDroid Api 未使用任何密钥或身份验证标头,除了内容类型=x-www-form-urlencoded
-
@Abhishekkumar 没有错误代码是 404 : 并且消息是 volley.Clienterror
标签: android http-headers android-volley restful-url