Я использую весеннюю загрузку 2.x и выполняю два асинхронных вызова с использованием веб-клиента. Я получаю правильный ответ одним вызовом, в то время как другой вызов сталкивается с некоторым исключением.
Я хочу сжать оба ответа вместе, используя метод zip, но при использовании блока с zip он генерирует исключения и потоки управления для захвата блока. Я хочу, чтобы оба ответа были заархивированы, за исключением одного или обоих. Пожалуйста, объясните мне, как это сделать.
Mono<BookResponse> bookResponseMono =webClient.get()
.uri("/getBooking/" + bookingId).headers(headers->headers.addAll(args)
.retrieve()
.bodyToMono(BookResponse.class);// with proper responce
Mono<Address> addressResponseMono =webClient.get()
.uri("/getAddress/" + bookingId)
.headers(headers->headers.addAll(args))
.retrieve()
.bodyToMono(Address.class);// encounter readtimeout exception
Tuple2<BookResponse, Address> resp = bookResponseMono.zipWith(addressResponseMono).block();// throws exception but
Я хочу сжать оба ответа вместе с исключением.