У меня есть поток строк.Для каждой строки я должен сделать удаленный вызов.Но проблема в том, что метод, который делает удаленный вызов, на самом деле возвращает Mono ответа (очевидно, поскольку, соответствующий одному запросу, будет один ответ).
Какой должен быть правильный шаблон дляобрабатывать такие случаи?Одно из решений, которое я могу придумать, - это делать последовательные (или параллельные) вызовы для элементов потока и сокращать ответы до одного и возвращать.
Вот код:
fluxObj.flatmap(a -> makeRemoteCall(a)//converts the Mono of the response to a Flux).reduce(...)
IЯ не могу обернуть мою голову внутри flatmap
. Метод makeRemoteCall
возвращает Mono
.Но flatmap
возвращает Flux
ответа.Во-первых, почему это происходит?Во-вторых, означает ли это, что возвращенный Flux
содержит один объект ответа (который был возвращен в Mono
)?