我正在使用 Put 方法制作 JsonObjectRequest,但它无法正常工作并收到 "{"detail":"Method \"GET\" not allowed."}" 错误消息。
我没有修改 JsonObjectRequest。我从这里“ http://developer.android.com/training/volley/request.html ”的谷歌示例代码中复制了这段代码。
我不认为这可能是 Volley 中的错误。请仔细阅读我的代码,让我知道我做错了什么。
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"]}