Spring5 - Reactor API - 发送顺序请求并将响应作为String获取

问题描述 投票:1回答:1

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

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

spring request reactive sequential
1个回答
0
投票

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

  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

© www.soinside.com 2019 - 2024. All rights reserved.