Я пытаюсь добиться следующего сценария с помощью WebClient. Использовать RestTemplate тривиально, но я больше не могу.
Соответствующие части контроллера Spring в псевдо-Java-коде:
Mono<T1> t1 = webClient.get()...retrieve()...;
Mono<T2> t2;
if (t1.getResult().getValue() > 0) {
t2 = webClient.get().buildUsing(t1.getResult().getValue())...retrieve()...);
} else {
t2 = Mono.empty();
}
return(Mono.zip(t1, t2, mergeFunction));
Я не спрашиваю, как использовать Webflux,Я также могу добавить обработку ошибок самостоятельно. Моя проблема заключается в том, как передать данные на второй вызов, если первый вызов был успешным, и где объединить результаты обоих вызовов, один из которых может произойти или не произойти. Задача является абсолютно тривиальной, если бы я мог использовать RestTemplate.
Есть вопрос с очень похожим названием, но он не получил ответа.