gpt4 book ai didi

android - 使用 Volley Android 请求删除

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:28 24 4
gpt4 key购买 nike

我尝试使用 Volley 将 DELETE 请求发送到带有 X-user-email 和 X-User-token 等参数的 REST Api。我几乎尝试了 Internet 上的所有方法,但仍然收到 400 错误消息。

当我使用 POST 请求时它的工作,所以我认为它对于 DELETE 是一样的,我只是改变了:

(Request.Method.POST, url, params, new Response.Listener<JSONObject>() {...}

通过

(Request.Method.DELETE, url, params, new Response.Listener<JSONObject>() {...}

我的代码如下:

主 Activity .java

disconnect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {;
JSONObject params = new JSONObject();
try {
params.put("X-User-Email", "test@test.com");
params.put("X-User-Token", "QwerTyuI789IOP");
} catch (JSONException e) {
e.printStackTrace();
}
NetworkManager.getInstance(v.getContext()).delete("http://10.0.2.2:3000/users/sign_out", params, new NetworkManager.NetworkManagerListener<String>() {
@Override
public void getResult(String response)
{
if (!response.isEmpty())
{
result.setText(response.toString());
Log.e("Response", response.toString() );
}
}
});
}
});

网络管理器.java

public void delete(String url, JSONObject params, final NetworkManagerListener<String> listener) {
JsonObjectRequest request = new JsonObjectRequest
(Request.Method.DELETE, url, params, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG + ": ", "delete onResponse : " + response.toString());
if (null != response.toString())
listener.getResult(response.toString());
}
}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
if (null != error.networkResponse) {
Log.d(TAG + ": ", "delete Error Response code: " + error.networkResponse.statusCode);
listener.getResult(error.toString());
}
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("Accept", "application/json");
params.put("Content-type", "application/json");
return params;
}
};
;
requestQueue.add(request);
}

你知道怎么解决吗?谢谢你读我。

最佳答案

因为DELETE 请求忽略正文数据,所以您应该创建一个CustomHurlStack 类。

请在以下 SO 问题中阅读更多我的回答:

Delete Request With header and Parametes Volley

或者尝试 my GitHub sample project .希望对您有所帮助!

关于android - 使用 Volley Android 请求删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36562440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com