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

标签 java spring http spring-webflux

我想访问一个提供DELETE端点的HTTP API。这个特定的终结点需要一个项目列表(我要删除)作为JSON正文。

现在,我的问题是,我正在使用Spring Webflux。但是它的WebClient并没有给我发送带有DELETE请求的正文的可能性。对于POST,我可以这样做:

webClient.post()
         .uri("/foo/bar")
         .body(...)
         .exchange()

但是对于DELETE,我得到了RequestHeadersSpec,它没有给我提供body(...)的选项:
webClient.delete()
         .uri("/foo/bar")
         .body(...)       <--- METHOD DOES NOT EXIST
         .exchange()

那么,在客户端使用Spring Webflux实现此目的的方法是什么?

最佳答案

您可以使用webClient的method()运算符。简单的例子

return webClient
        .method(HttpMethod.DELETE)
        .uri("/delete")
        .body(BodyInserters.fromProducer(Mono.just(new JSONObject().put("body","stringBody").toString()), String.class))
        .exchange() 

关于java - 使用WebFlux时如何使用HTTP DELETE发送正文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60323359/

相关文章:

c++ - 如何使用基本身份验证发送 HTTP 请求?

Java机器人类——模拟鼠标点击而不移动光标

java - 在 Java 中管理 cookie

mysql - Spring mvc + hibernate + 列表中的 IN 子句

java - Tomcat 数据源 - 最大 Activity 连接数

http - 如何使用 HTTP::UserAgent 下载二进制文件

java - hibernate "not in"问题

java.lang.String 无法转换为 JSONObject

java - Spring Boot 表单模型

http - 为什么 HTTP 不支持 Brotli?