webClient 响应使用 bodyToFlux 方法合并所有收到的响应而不是将其分离出来

webClient response using bodyToFlux method merging all the received response instead separating it out

  1. 我正在使用 ParallelFlux 完成 运行 多项任务。

  2. 但是当我使用 bodyToFlux 方法接收 webClient 响应时,它会合并所有输出响应,而不是一个一个地获取。

  3. 我希望输出应该是一个一个的输出,而不是单个字符串,有没有其他方法可以代替 bodyToFLux 需要使用。

    请求方法:

        Flux<String> responsePost = webClient.build()
                                //removed get,url and retrieve here                             
                                .bodyToFlux(String.class);
    
                    responsePost.subscribe(s -> {
                        //display response
                        });
    

    回复方式:

        public ParallelFlux<String> convertListToMap() {
                  //created list of string str
    
                return Flux.fromIterable(str)
                        .parallel(3)
                        .runOn(Schedulers.parallel())
                        .map( s -> {
                    //some logic here
                });
           }
    

    输出:

        parallel fulx reponse: springwebfluxparellelExample
    
  1. 在这里代替 returning ParallelFlux 创建一个 ResponseBody class 带有您想要 return 的变量,将您的响应分配给 ResponseBody 内的变量和 return 它到 API 函数的调用者。

    public ParallelFlux<ResponseBody> convertListToMap() {
                  //created list of string str
    
                return Flux.fromIterable(str)
                        .parallel(3)
                        .runOn(Schedulers.parallel())
                        .map( s -> {
                    //some logic here
                });
           }
    
    
    
     Flux<String> responsePost = webClient.build()
                                //removed get,url and retrieve here                             
                                .bodyToFlux(ResponseBody.class);