发送使用凌空(Android版),以一个REST API带有参数的删除请求? [英] Send a DELETE Request using Volley (Android) to a REST Api with parameters?
问题描述
我如何使用发送排球(Android版)删除请求到REST API像的access_token和用户名参数。我曾尝试在互联网上几乎所有的东西,但仍然我得到一个400错误信息。
我曾尝试使用邮递员发送相同的DELETE请求,它完美的罚款。
How do I send a DELETE Request using Volley (Android) to a REST Api with parameters like access_token and username. I have tried almost everything on Internet but still I am getting a 400 error Message. I have tried sending the same DELETE request using PostMan and it works perfectly fine.
以下是错误:
E /乱射:[1112] BasicNetwork.performRequest:意外的响应code 400 的http:// myserverip /邮件/ 2
,并在这里是Java code,我现在用:
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);
可能并非真正有用的,但这里的工作从DELETE请求preVIEW 邮递员
- 删除/邮件/ 1 HTTP / 1.1
- 主持人:serveripaddress
- 的Cache-Control:no-cache的
-
内容类型:应用程序/ x-WWW的形式urlen codeD
- DELETE /messages/1 HTTP/1.1
- Host: serveripaddress
- Cache-Control:no-cache
Content-Type: application/x-www-form-urlencoded
=的access_token&SPAVYaJ7ea7LzdeQYrBTsIRssuGbVpJI8G9XSV0n放大器;用户名= whit3hawks
access_token=SPAVYaJ7ea7LzdeQYrBTsIRssuGbVpJI8G9XSV0n&username=whit3hawks
推荐答案
您可以轻松地做到这一点,如果你把替代以下空
在 ...新JsonObjectRequest(Request.Method.DELETE,URI,空,新Response.Listener&LT;&JSONObject的GT;(){...
You can easily achieve this if you put the following instead of null
in ... new JsonObjectRequest(Request.Method.DELETE,URI,null,new Response.Listener<JSONObject>() { ...
final JSONObject object = new JSONObject();
try {
object.put("access_token", "SPAVYaJ7ea7LzdeQYrBTsIRssuGbVpJI8G9XSV0n");
object.put("username", "whit3hawks");
} catch (Exception e) {
e.printStackTrace();
}
所以你的要求应该是这样的: ...新JsonObjectRequest(Request.Method.DELETE,URI,对象,新Response.Listener&LT;&JSONObject的GT;(){...
您张贴在很久以前,但也许其他人会需要这样一段时间。
You posted a long time ago, but maybe someone else will need this some time.
这篇关于发送使用凌空(Android版),以一个REST API带有参数的删除请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!