gpt4 book ai didi

带有请求正文的 Java HTTP DELETE

转载 作者:可可西里 更新时间:2023-11-01 16:24:04 27 4
gpt4 key购买 nike

我有一个外部 API,它对正文 (JSON) 使用 DELETE。我使用 Postman REST Client 并通过请求正文完成删除,它工作正常。我正在尝试使用一种方法自动执行此功能。

我为类似的 GET、POST 和 PUT 尝试了 HttpURLConnection。但我不确定如何将 DELETE 与请求正文一起使用。

我查看了 StackOverflow,发现无法完成,但它们是非常古老的答案。

有人可以帮忙吗?我正在使用 spring 框架。

最佳答案

我使用 org.apache.http 来完成这件事。

@NotThreadSafe
class HttpDeleteWithBody extends HttpEntityEnclosingRequestBase {
public static final String METHOD_NAME = "DELETE";

public String getMethod() {
return METHOD_NAME;
}

public HttpDeleteWithBody(final String uri) {
super();
setURI(URI.create(uri));
}

public HttpDeleteWithBody(final URI uri) {
super();
setURI(uri);
}

public HttpDeleteWithBody() {
super();
}
}



public String[] sendDelete(String URL, String PARAMS, String header) throws IOException {
String[] restResponse = new String[2];
CloseableHttpClient httpclient = HttpClients.createDefault();

HttpDeleteWithBody httpDelete = new HttpDeleteWithBody(URL);
StringEntity input = new StringEntity(PARAMS, ContentType.APPLICATION_JSON);
httpDelete.addHeader("header", header);
httpDelete.setEntity(input);

Header requestHeaders[] = httpDelete.getAllHeaders();
CloseableHttpResponse response = httpclient.execute(httpDelete);
restResponse[0] = Integer.toString((response.getStatusLine().getStatusCode()));
restResponse[1] = EntityUtils.toString(response.getEntity());
return restResponse;
}
}

关于带有请求正文的 Java HTTP DELETE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43241436/

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