Spring5 - Reactor API - 发送顺序请求并以字符串形式获取响应

Spring5 - Reactor API - Sending sequential requests and getting the responses as a String

我正在发送顺序请求并尝试将响应打印为字符串:

  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,但不知道如何正确使用。

截至目前,我正在循环发送请求。这是代码,这对我有用:

  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();


    }

但我想知道我们可以用不同的方式来做到这一点。这是关于这个项目的博客:

blog