小编pio*_*cki的帖子

Spring 2.0 WebFlux:将多个 Mono<String> 合并为单个 Flux<String> ,其中 string 是转换为字符串的 json

我有三个 Mono json 字符串,如下所示

Mono<String> strInventoryResp=invWebClient.get().
            uri("/findATSInventory?skuId="+skuId).
            exchange().flatMap(resp-> resp.bodyToMono(String.class));


    Mono<String> strProductResponse=productClient.get().
            uri("/v2/products/id/"+skuId).
            exchange().flatMap(resp-> resp.bodyToMono(String.class));


    Mono<String> strItemResp=productClient.get().
            uri("/v2/items?id="+skuId).
            exchange().flatMap(resp-> resp.bodyToMono(String.class));
Run Code Online (Sandbox Code Playgroud)

我想将它合并到 Json 字符串的 Flux 中,这样结果也是一个 json 字符串。

我尝试过 Flux.merge 静态方法,但是显然它不会以 json 格式返回,如下所示

Flux.merge(strProductResponse,strItemResp,strInventoryResp);
Run Code Online (Sandbox Code Playgroud)

如何返回组合单声道响应的 Flux,以便在调用调用此方法的控制器时在浏览器中返回有效的 JSON 字符串流?

编辑:我的问题陈述是使用 Web Flux 异步调用这三个 API 并将结果合并为一个。控制器将调用此方法并返回 UI 的组合结果。有其他方法吗?

project-reactor spring-webflux

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

project-reactor ×1

spring-webflux ×1