Обработка исключений веб-клиента Spring boot

Я пытаюсь обработать исключение, созданное нижестоящими службами, и зафиксировать код ошибки, а также сообщение об ошибке. После поиска некоторых решений в Интернете я вижу приведенный ниже общий метод обработки исключения, но я действительно не уверен, что именно я должен написать в моем MyCustomConnectionException? Кстати, когда я использовал Resttemplate, мне было легко справиться с этим, бросив HttpClientResponseException и зафиксировав все, но здесь я действительно не уверен, как это работает? Я новичок в использовании реактивной технологии Webclient и Spring. Может ли кто-нибудь помочь мне здесь. ?

        Mono<String> result = client.get()
        .uri("/api/{id}", id).accept(MediaType.APPLICATION_JSON)
        .retrieve()
        .onStatus(HttpStatus::is4xxClientError, response -> {

             return Mono.error(new MyCustomConnectionException());
         })
        .bodyToMono(String.class);

person Sam    schedule 23.08.2019    source источник
comment
Вам не нужен вызов onStatus(). По умолчанию при получении ответа об ошибке возвращается Mono.error() с экземпляром WebClientResponseException. Как видите, он позволяет получить доступ к коду состояния и телу ответа.   -  person JB Nizet    schedule 23.08.2019


Ответы (1)


Здесь класс MyCustomConnectionException может выдавать любое пользовательское сообщение, которое вы хотите вернуть, когда возникает какая-либо ошибка из-за ошибок конфигурации вашего веб-клиента, таких как неверный URL-адрес или отсутствующие ключи аутентификации.

person vikash pandey    schedule 06.05.2020
comment
Добро пожаловать в stackoveflow. проверьте это - stackoverflow.com/help/on-topic - person Hemant; 07.05.2020