发送使用凌空(Android版),以一个REST API带有参数的删除请求? [英] Send a DELETE Request using Volley (Android) to a REST Api with parameters?

查看:282
本文介绍了发送使用凌空(Android版),以一个REST API带有参数的删除请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何使用发送排球(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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆