#spring #request #reactive #sequential
#spring #запрос #реактивный #последовательный
Вопрос:
Я отправляю последовательный запрос и пытаюсь напечатать ответ в виде строки:
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:
На данный момент я отправляю запросы в цикле. Вот код, и это работает для меня:
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();
}
Но я хотел бы знать, какими различными способами мы можем это сделать. Вот блог об этом проекте: