我有一个这样的端点:
@PostMapping("/products")
Flux<Product> getProducts(@RequestBody Flux<String> ids) {
return Flux...
}在我的客户端,我想使用这个端点,但不确定如何在主体中传递Flux of String (我不想将其作为列表)。
Flux<Product> getProducts(Flux<String> ids) {
return webClient.post().uri("/products")
.body(/* .. how should I do here? ..*/)
.retrieve()
.bodyToFlux(Product.class);
}发布于 2021-09-12 13:09:50
实际上,您可以将Flux传入WebClient上的.body()方法
Flux<Person> personFlux = ... ;
Mono<Void> result = client.post()
.uri("/persons/{id}", id)
.contentType(MediaType.APPLICATION_STREAM_JSON)
.body(personFlux, Person.class)
.retrieve()
.bodyToMono(Void.class);您要使用的body()方法的变体为:
<T,P extends org.reactivestreams.Publisher<T>> WebClient.RequestHeadersSpec<?> body(P publisher,
Class<T> elementClass)此方法的相关JavaDoc
https://stackoverflow.com/questions/69142662
复制相似问题