java - 添加编解码器以在 WebClient 中的请求中添加内容长度

标签 java netty spring-webflux reactor-netty spring-webclient

我想向我的接受请求的 WebClient 添加某种 ChannelOutboundHandler ,向其中添加“Content-Length” header ,并转发。我知道 HttpContentEncoder 类可以做到这一点。如何在我的 WebClient 中配置此类?

最佳答案

如果您只想添加Content-Length,则不需要任何处理程序。 你可以这样做:

String requestBody = "something";
String response =
        WebClient.create()
                .post()
                .uri("https://postman-echo.com/post")
                .contentLength(9)
                .body(BodyInserters.fromObject(requestBody))
                .retrieve()
                .bodyToMono(String.class)
                .block();
System.out.println(response);

关于java - 添加编解码器以在 WebClient 中的请求中添加内容长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57804509/

相关文章:

java - UCP 和 Oracle 12 c 中的连接关闭问题

Java Netty 负载测试问题

java - 在 Spring WebFlux 中进行异步 SOAP 调用

java - Mono.fromCallable 和 Mono.justOrEmpty 的区别

java - 如果数组中多个值匹配,如何获取值的最后一个索引号?

java - JComboBox 不更新所选项目/内部类访问

java - 比较器类中的错误

java - netty - 我可以引导一个新客户端来连接 channel 处理程序中的其他服务器吗?

java - 在同一 JVM 中运行 Apache MINA 和 Netty

websocket - 使用带有 Rsocket 和 Spring Webflux 的 websockets 仅向特定客户端发送消息