Первый раз с использованием WebClient и желанием заменить наши существующие HTTP-вызовы RestTemplate.
У нас есть много случаев, когда нам нужно выдать исключение для ошибочного HTTP-ответа, и в других случаях, когда нам нужно выполнить повторную попытку запроса.
В случае успешных HTTP-ответов нам нужно выполнить обратный вызов, который возвращает строку.
После продолжительного поиска в Интернете в течение последних нескольких дней мы не можем найти примеров этих довольно стандартных вариантов использования.
На данный момент у нас есть следующее, которое мы ожидаем сгенерировать исключение по ошибке, но это не так!
webClient.post()
.uri(404uri)
.headers(ourHeaders)
.body(ourBody)
.exchange()
.doOnError(e -> Mono.just(
new OurException("Unable to perform request", e)))
.doOnSuccess(ourSuccessCallback)
.block()
.bodyToMono(String.class) # displays IDE warning
.block();
Мы также видим нулевое предупреждение о ".bodyToMono ()". Что мы здесь делаем неправильно?