【发布时间】:2019-02-25 00:34:48
【问题描述】:
邮递员的回应是这张图片:
这是我用来在发布请求中发送数据的代码。虽然我从中得到了 400 响应代码。
StringRequest stringRequest = new StringRequest(Request.Method.POST,
API.ADD_PAYMENT,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progressDialog.dismiss();
onBackPressed();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismiss();
Toast.makeText(AddPaymentActivity.this, error.getMessage(), Toast.LENGTH_SHORT).show();
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("amount", "123");
params.put("description", "Not Paid");
params.put("customer", "1");
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/json; charset=UTF-8");
headers.put("Authorization", "token 0ee1248c5a84e8b1e36a8a15da48c0bb7580926c");
return headers;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(AddPaymentActivity.this);
requestQueue.add(stringRequest);
【问题讨论】:
-
这是我自己的服务器,其余的 api 是在 django 上制作的。身份验证令牌正是我每次发出请求时都必须在标头中附加的内容。
-
是的,它必须是当前登录应用程序的用户的一种身份
-
不,我不需要那个。感谢您的帮助,但服务器端正在工作,因为邮递员的回复正常。只是截击造成了问题
-
只需删除
headers.put("Content-Type", "application/json; charset=UTF-8");并尝试在 Volley 请求中。
标签: android django-rest-framework android-volley form-data