【发布时间】:2015-01-28 20:02:43
【问题描述】:
如何使用 Volley (Android) 将 DELETE 请求发送到带有 access_token 和用户名等参数的 REST Api。我几乎在 Internet 上尝试了所有方法,但仍然收到 400 错误消息。 我曾尝试使用 PostMan 发送相同的 DELETE 请求,并且效果很好。
这是错误: E/Volley:[1112] BasicNetwork.performRequest:http://myserverip/messages/2 的意外响应代码 400
这是我正在使用的 Java 代码:
String URI = "http://myserverip/messages/2";
JsonObjectRequest request = new JsonObjectRequest(Request.Method.DELETE,URI,null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Toast.makeText(contextm,response.toString(),Toast.LENGTH_SHORT).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}){
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = super.getHeaders();
if (headers == null
|| headers.equals(Collections.emptyMap())) {
headers = new HashMap<String, String>();
}
headers.put("access_token", "access_token");
headers.put("username", "username");
return headers;
}
};
MyApp.getInstance().addToRequestQueue(request);
可能不是很有用,但这里是 PostMan
的有效 DELETE 请求预览- 删除 /messages/1 HTTP/1.1
- 主机:服务器IP地址
- 缓存控制:无缓存
-
内容类型:application/x-www-form-urlencoded
access_token=SPAVYaJ7ea7LzdeQYrBTsIRssuGbVpJI8G9XSV0n&username=whit3hawks
【问题讨论】:
标签: android rest android-volley