【发布时间】:2020-12-16 11:21:37
【问题描述】:
我是 Spring 新手。我试图以功能的方式为 spring webflux 制作一个示例应用程序。 为什么我们的处理函数不能通过 Flux。有什么方法可以让路由器功能接受它,因为据说路由器功能接受 serverResponse 的子类型。
显示处理程序代码
public Mono<ServerResponse> getShowList(ServerRequest request){
Flux<Show> showList = showRepository.findAll();
Flux<ShowVo> showVoList= showList.map(s -> {
return new ShowVo(s.getId(), s.getTitle());
});
return ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).body(showVoList, ShowVo.class); }
我在这里传递 Mono
路由器功能代码
@Bean
public RouterFunction<ServerResponse> routeShow(ShowHandler showHandler){
return RouterFunctions.route(RequestPredicates.GET("/shows").and(RequestPredicates.accept(MediaType.APPLICATION_JSON)), showHandler::getShowList)
}
}
那么有什么办法可以做到吗,我浏览过不同的文章。我只能找到 Mono,但如果我使用基于注释的 webflux,我可以通过 Flux。
【问题讨论】:
-
您的意思是要将数据流式传输到服务器,全双工?
-
其实我的意思是说。我想将数据流数据发送到服务器。就像我们想从服务器或数据库中以流的形式获取数据一样。就像我们收到推文一样。它是通量响应的一种形式?
标签: java functional-programming spring-webflux