Spring5 - Reactor API - отправка последовательных запросов и получение ответов в виде строки - PullRequest
1 голос
/ 13 марта 2019

Я отправляю последовательный запрос и пытаюсь напечатать ответ в виде строки:

  Flux.fromIterable(keywordsList).map(i -> client.get()
              .uri("/hello?now-word=" + i)
              .accept(MediaType.APPLICATION_JSON)
              .retrieve()
              .bodyToMono(String.class))
              .subscribe(item -> System.out.println("item: " + item.toString()));

Но вот что я получаю:

  item: MonoFlatMap
  item: MonoFlatMap
  item: MonoFlatMap
  item: MonoFlatMap
  item: MonoFlatMap
  item: MonoFlatMap
  item: MonoFlatMap
  item: MonoFlatMap
  item: MonoFlatMap
  item: MonoFlatMap
  item: MonoFlatMap
  item: MonoFlatMap

Я пытался использовать FlatMapIterable,но я не знаю, как правильно его использовать.

1 Ответ

0 голосов
/ 07 апреля 2019

На данный момент я отправляю запросы в цикле. Вот код, и это работает для меня:

  for(int i = 3; i <= len; i++) {
        String searchStr = searchString.substring(0, i);

        Mono<ClientResponse> result = client.get()
                .uri(autocompleteUri + searchString)
                .accept(MediaType.APPLICATION_JSON)
                .exchange();

        String result1 = ">> result = " + result.flatMap(res -> res.bodyToMono(String.class)).block();


    }

Но я хотел бы знать, как мы можем это сделать. Вот блог об этом проекте:

Блог

...