我正在使用Put方法制作JsonObjectRequest,但它不起作用并且获得“{”detail“:”方法\“GET \”不允许。“}”错误消息。
我没有修改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”]}
答案 0 :(得分:1)
在DELETE,PUT界面网址末尾添加“/”,请查看以下代码段。
如果客户端向“/ testdir /”发出GET请求(即,在 目录).......有趣的是要注意,如果客户问题 对“/ testdir”的GET请求(不指定目录路径 “/”),服务器返回一个新的“301 Move Permanently” “/ testdir /”的“位置”如下。