由于我无法使用此 api 发布数据,因此我得到了 400 的响应代码,因此您能帮助我摆脱这个吗?
String BASE_URL = "http://74.207.233.160/api/v1/users";
StringRequest stringRequest = new StringRequest(Request.Method.POST, BASE_URL,new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progressBar.setVisibility(View.GONE);
Log.d("SignupActivity", "onResponse" +response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(SignupActivity.this, "Error.......", Toast.LENGTH_SHORT).show();
error.printStackTrace();
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("email", email);
params.put("password", password);
params.put("role", role);
return params;
}
};
MySingleTon.getInstance(SignupActivity.this).addToRequestQueue(stringRequest);
这是我的 SingleTon 课程
public class MySingleTon {
private static MySingleTon mInstance;
private RequestQueue requestQueue;
private static Context mCtx;
private MySingleTon(Context context){
mCtx = context;
requestQueue = getRequestQueue();
}
public static synchronized MySingleTon getInstance(Context context){
if (mInstance == null){
mInstance = new MySingleTon(context);
}
return mInstance;
}
public RequestQueue getRequestQueue() {
if (requestQueue == null){
requestQueue = Volley.newRequestQueue(mCtx.getApplicationContext());
}
return requestQueue;
}
public void addToRequestQueue(Request request){
requestQueue.add(request);
}
}
这是错误的详细信息
E/Volley: [4370] BasicNetwork.performRequest: Unexpected response code 400 for http://74.207.233.160/api/v1/users
这是我的邮递员屏幕截图邮递员邮政数据如果我使用 user [9],则来自上述邮递员,我得到的响应码为 500
1 回答
随附的 Postman 屏幕快照使用标头提供键值对。在您的示例中,您将覆盖
getParams
方法,并且实际上是对 URL 进行 POST 请求:http://74.207.233.160/api/v1/users?email=youremail&password=yourpassword&role=yourrole;
如果我理解正确,则应该覆盖
getHeaders
方法。编辑:基于注释,您需要的是请求正文中的 JSON 字符串。要还设置适当的请求标头,请使用 JsonBodyRequest 类: