Spring Webflux: Webclient: получить тело при ошибкеJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring Webflux: Webclient: получить тело при ошибке

Сообщение Anonymous »

Я использую веб-клиент из Spring Webflux, вот так:

Код: Выделить всё

WebClient.create()
.post()
.uri(url)
.syncBody(body)
.accept(MediaType.APPLICATION_JSON)
.headers(headers)
.exchange()
.flatMap(clientResponse -> clientResponse.bodyToMono(tClass));
Работает хорошо.
Теперь я хочу обработать ошибку вызываемого веб-сервиса (внутренняя ошибка Ex 500). Обычно я добавляю doOnError в «поток» и использую Throwable для проверки кода состояния.

Но моя проблема в том, что я хочу получить тело, предоставленное веб-сервис, потому что он предоставляет мне сообщение, которое я хотел бы использовать.

Я хочу использовать FlatMap, что бы ни случилось, и проверить код состояния, чтобы десериализовать или нет тело.

Подробнее здесь: https://stackoverflow.com/questions/445 ... y-on-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»