Java 在ServerResponse中将mono作为标头值传递
我不熟悉functional endpoints/spring webflux,我试图将mono作为头值返回,但我找不到方法,因为Java 在ServerResponse中将mono作为标头值传递,java,spring,mono,spring-webflux,Java,Spring,Mono,Spring Webflux,我不熟悉functional endpoints/spring webflux,我试图将mono作为头值返回,但我找不到方法,因为header方法只接受字符串 路由器功能 @Bean RouterFunction<ServerResponse> productRoutes() { return route(GET("/products").and(accept(MediaType.APPLICATION_JSON)), getAllProductsHand
header
方法只接受字符串
路由器功能
@Bean
RouterFunction<ServerResponse> productRoutes() {
return route(GET("/products").and(accept(MediaType.APPLICATION_JSON)), getAllProductsHandler());
}
private HandlerFunction<ServerResponse> getAllProductsHandler() {
return req -> {
// Here the products and the totalProducts are being returned from the service layer
Flux<Product> products = Flux.just(new Product("123"), new Product("234"));
Mono<Integer> totalProducts = Mono.just(2);
return ok()
.header("totalCount", totalProducts)
.body(products, Product.class);
};
}
@Bean
RouterFunction productRoutes(){
返回路由(GET(“/products”)。和(accept(MediaType.APPLICATION_JSON)),getAllProductsHandler();
}
处理函数
@Bean
RouterFunction<ServerResponse> productRoutes() {
return route(GET("/products").and(accept(MediaType.APPLICATION_JSON)), getAllProductsHandler());
}
private HandlerFunction<ServerResponse> getAllProductsHandler() {
return req -> {
// Here the products and the totalProducts are being returned from the service layer
Flux<Product> products = Flux.just(new Product("123"), new Product("234"));
Mono<Integer> totalProducts = Mono.just(2);
return ok()
.header("totalCount", totalProducts)
.body(products, Product.class);
};
}
private handler函数getAllProductsHandler(){
返回请求->{
//这里,产品和totalProducts从服务层返回
通量产品=通量(新产品(“123”)、新产品(“234”);
Mono totalProducts=Mono.just(2);
返回ok()
.标题(“totalCount”,totalProducts)
.主体(产品、产品、类别);
};
}
在这里,将mono作为标题值返回的正确方法是什么?通过链接mono并构建您的响应
final Mono<Integer> totalProducts = Mono.just(2);
return totalProducts.flatMap(value -> ok()
.header("totalCount", value)
.body(products, Product.class)
);
final Mono totalProducts=Mono.just(2);
返回totalProducts.flatMap(值->确定()
.header(“totalCount”,值)
.body(产品、产品、类别)
);