带有请求正文的Java HTTP DELETE

DXB王

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

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

我已经检查了StackOverflow,发现无法完成此操作,但是它们是很旧的答案。

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

DXB王

我使用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;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

具有请求正文RETROFIT的HTTP GET

Dart - 带有正文的 Http Get 请求

带有请求的HTTP发布失败:BadStatusLine

Spring Web MVC:HTTP DELETE的请求正文不再可用

是否允许实体正文进行HTTP DELETE请求?

模拟HTTP请求和带有请求有效负载的响应

带有RESTful API的正文的HTTP GET请求

Http Post发送带有空正文的请求

带有正文的HttpRequest DELETE

带有请求的node.js代理:DELETE方法不起作用

如何发送带有请求的HTTP / 2伪标头?

通过带有请求的HTTP下载文件时的进度栏

如何将shareReplay用于带有请求参数的缓存HTTP响应

Axios HTTP DELETE请求返回415错误

如何发送带有JSON内容的Http Delete Request

发送带有正文的HEAD http请求导致net / http错误

使用Grizzly Servlet容器,允许带有消息正文的DELETE请求

节点服务器拦截从angular(http)到Java Spring后端的所有请求

具有请求主体的Laravel DELETE方法

带有 url 且没有正文参数的 Angular http post 方法请求

使用WebFlux时如何使用HTTP DELETE发送正文?

Angular 2 Http Delete在正文中发送json

如何在Flask中通过HTTP Delete访问正文?

HTTP GET API 设计,它使用相同的端点,但在 Flask 中提供带有请求参数的过滤结果

邮递员通过脚本发送带有正文的http请求

带有原始正文的HTTP POST请求到ORDS PL / SQL网关?

将带有标头和正文请求的 HTTP POST 转换为 Python(Telerik Fiddle)

带有外部 API 的 POST 请求的 HTTP 状态和响应正文

带有 VBA 正文的 HTTP POST 请求 (MSXML2.ServerXMLHTTP)