java - WebFlux 总是从 WebClient 获得空的正文发布
问题描述
我正在尝试将 Flux 从 webclient 发布到服务器,但我总是得到空的请求正文。
路由器:
@Bean
public RouterFunction<ServerResponse> procces(LetterHandler handler){
return RouterFunctions.route(POST("/letter").and(accept(APPLICATION_STREAM_JSON)).and(contentType(APPLICATION_STREAM_JSON)), handler::handle);
}
处理方法:
@Override
public Mono<ServerResponse> handle(ServerRequest serverRequest) {
serverRequest.body(toFlux(Letter.class)).doOnEach(letterSignal -> System.out.println(letterSignal)).switchIfEmpty(subscriber -> System.out.println("empty")).subscribe();
//serverRequest.bodyToFlux(Letter.class).doOnEach(letterSignal -> System.out.println(letterSignal)).subscribe();
}
WebClient - 字段:
private final WebClient webClient = WebClient.builder()
.baseUrl("http://localhost:8081")
// .defaultHeader(MediaType.APPLICATION_JSON_VALUE)
.build();
WebClient - 请求:
public void send(Flux letters) {
webClient.post().uri("/letter")
.accept(MediaType.APPLICATION_STREAM_JSON)
.contentType(MediaType.APPLICATION_STREAM_JSON)
.body(letters, Letter.class)
//.body(BodyInserters.fromObject(letter))
// .retrieve().bodyToMono(void.class).subscribe();
.exchange().subscribe();
}
为什么我总是收到空请求?我将不胜感激任何帮助。提前致谢!
解决方案
推荐阅读
- android - 使用警报管理器设置多个警报
- docker - 导入后无法运行 docker gitlab 容器
- r - 使用 ggplot2 为组自定义颜色
- java - 导航按钮在java netbeans中不起作用
- javascript - 使用令牌在后端和前端识别用户进行身份验证
- cython - 仅使用一个静态方法初始化类(无构造函数)
- swift - CreateML 保存 .mlmodel 失败
- c++ - 对于以下用途,向量和双端队列之间最有效的是什么?
- wordpress - 使用 ACF 在 Wordpress 中显示即将到来的生日 - 在查询日期选择器自定义字段时排除 YEAR
- avro - 找不到类 io.confluent.connect.avro.ConnectDefault