Как собирать данные после подписки Flux.sub для отправки в виде массива json? - PullRequest
0 голосов
/ 24 сентября 2018

Это пример, который я сделал, что мне нужно сделать, чтобы обработанные данные отправляли список результатов как ответ WS json?

    @Produces(MediaType.APPLICATION_JSON)
     public List<String> tryFlux(@QueryParam("names") List<String> names) {
         String[] array = new String[names.size()];
         Flux.fromIterable(asList(names.toArray(array))).
                 doOnNext(this::executeService).doOnError(ex -> handleError(ex, names)).retry(1).subscribe();
         return ??; //Need help here
      }

1 Ответ

0 голосов
/ 26 сентября 2018

Вы можете обернуть уже разрешенные значения с помощью Mono, чтобы получить данные JSON.

  @Produces(MediaType.APPLICATION_JSON)
 public Mono<JSONResponseObject> tryFlux(@QueryParam("names") List<String> names) {
     String[] array = new String[names.size()];
     Flux.fromIterable(asList(names.toArray(array))).
             doOnNext(this::executeService).doOnError(ex -> handleError(ex, names)).retry(1).subscribe();
     return Mono.just(jsonResponseObject); //Need help here
  }
...