Как получить HttpRequest в @ExceptionHandler с помощью RestClientException?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как получить HttpRequest в @ExceptionHandler с помощью RestClientException?

Сообщение Anonymous »

Я разрабатываю внутреннюю общую библиотеку в своей компании, которая должна перехватывать все исключения и форматировать их в один DTO (немного упрощенно).

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

{
"serviceName": "my-service-name",
"errorCode": "ExternalRequestException",
"externalServiceUrl": "http://external-service.com:8080/api/method-name?param=1"
"externalErrorCode": "InvalidArgumentException",
"externalErrorMessage": "Invalid argument param ...."
"internalErrors": [],
}
У меня нет проблем с обработкой WebClientRequestException или WebClientResponseException в @ExceptionHandler, поскольку они содержат requestUrl или целый HttpRequest для получения целевой URL-адрес запроса.
Итак, я могу добавить org.springframework.web.reactive.function.client.Client.ClientResponse#createException в webClient следующим образом

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

var response = webClient
.get()
.uri(“http://external-service.com:8080/api/method-name?param=1”)
.retrieve()
.onStatus(HttpStatusCode::isError, ClientResponse::createException)
.bodyToMono(String.class)
.block();
и я буду на 100 % уверен, что исключение WebClientRequestException или WebClientResponseException, вызванное этим вызовом, будет содержать URL-адрес запроса (

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

http://external-service.com:8080/api/method-name?param=1
в этом примере).
Итак, главный вопрос заключается в том, как получить информацию о запросе, в то время как restClient генерирует исключение? Возможно, мне нужно разработать какой-нибудь restClientInterceptor или что-то подобное, чтобы обогатить стандартные исключения информацией, специфичной для запроса.

Подробнее здесь: https://stackoverflow.com/questions/791 ... texception
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как получить HttpRequest в @ExceptionHandler с помощью RestClientException?
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как получить HttpRequest в @ExceptionHandler с помощью RestClientException?
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как получить HttpRequest в @ExceptionHandler с помощью RestClientException?
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как получить HttpRequest в @ExceptionHandler с помощью RestClientException?
    Anonymous » » в форуме JAVA
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как получить HttpRequest в @ExceptionHandler с помощью RestClientException?
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

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