我的put方法工作正常,但只是将put请求更改为Delete然后它不起作用,我甚至尝试发送它的标题。但仍然没有工作。我甚至尝试过Json对象来设置参数。提前谢谢。
StringRequest stringRequest = new StringRequest(Request.Method.DELETE, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("blalala", response);
String qtyReserved1 = response.toString();
Toast.makeText(mContext, "ok" + qtyReserved1, Toast.LENGTH_SHORT).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(mContext, "not ok" + username + Integer.toString(inventoryId), Toast.LENGTH_SHORT).show();
}
})
{
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("screen_name", username);
params.put("inventory_id", Integer.toString(inventoryId));
params.put("pending", "true");
return params;
}
@Override
public String getBodyContentType() {
return "application/json";
}
};
MySingleton.mySingletonInstance(mContext.getApplicationContext()).addToRequestque(stringRequest);
&#13;
答案 0 :(得分:0)
使用DELETE方法时,Volley库不会发送正文。你可以尝试其他图书馆。我通过使用loopj库
为您提供示例在您的gradle中添加依赖
compile 'com.loopj.android:android-async-http:1.4.9'
请求您的网络Api
RequestParams requestParams = new RequestParams();
requestParams.put("screen_name", "mariyam.shimaanath");
requestParams.put("inventory_id", 19);
requestParams.put("pending", true);
String url="192.168.4.31/api/canteen/cart";
new AsyncHttpClient().delete(url, requestParams, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
String rs = new String(responseBody);
// do whatever you want
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
}
});
答案 1 :(得分:0)
经过大量的研究,感谢上帝,我设法解决了这个问题,并未完全解决了排球中删除请求中的问题。但是,我不得不改变我需要从服务器端请求的方法。我将请求更改为post方法,我知道这可能不是一个好的做法和解决方案,但现在我设法从服务器删除。这就是我需要的。