Volley JsonObjectRequest Put无效

时间:2016-02-19 07:36:41

标签: java android android-volley jsonobjectrequest

我正在使用Put方法制作JsonObjectRequest,但它不起作用并且获得“{”detail“:”方法\“GET \”不允许。“}”错误消息。

Postman工作正常。有关更多信息,请参阅附带的屏幕截 enter image description here

我没有修改JsonObjectRequest。我从这里的“http://developer.android.com/training/volley/request.html”复制谷歌示例代码中的代码。

我不认为这可能是排球中的一个错误。请仔细阅读我的代码,让我知道我做错了什么。

JsonObjectRequest jsObjRequest = new JsonObjectRequest
            (Request.Method.PUT, url, null, new Response.Listener<JSONObject>() {

                @Override
                public void onResponse(JSONObject response) {
                    hideDialog();
                }
            }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    // TODO Auto-generated method stub
                    hideDialog();

                }
            })

    {
        @Override
        public Map getHeaders() throws AuthFailureError {
            Map headers = new HashMap();
            headers.put("Authorization", "Token " + dm.readString("auth_token"));
            return headers;
        }
    };

AppController.getInstance()addToRequestQueue(jsObjRequest);

编辑:我知道在屏幕截图中它显示了400个错误请求。这是因为我需要传递2个参数,即{“dg_id”:“80”,“delivery_ids”:[“90936”]}。有了这个参数,我也会在Volley中遇到同样的错误。

示例auth_token值:MTIzNDU2NzIzNDM6ZGVsaXZlcnlndXk =

示例正文值:{“dg_id”:“80”,“delivery_ids”:[“90936”]}

1 个答案:

答案 0 :(得分:1)

在DELETE,PUT界面网址末尾添加“/”,请查看以下代码段。

  

如果客户端向“/ testdir /”发出GET请求(即,在   目录).......有趣的是要注意,如果客户问题   对“/ testdir”的GET请求(不指定目录路径   “/”),服务器返回一个新的“301 Move Permanently”   “/ testdir /”的“位置”如下。