Я использую SpringBoot с RestTemplate
для связи с другим приложением. Однако я не могу изменить его API, и этот внешний сервис всегда возвращает код возврата 200OK
.
По умолчанию у нас есть ResponseErrorHandler
, который реагирует на все коды ответов 4xx
и 5xx
, но в моем случае, когда возникает исключение, я получаю 200OK
с одним полем JSON errors
.
Я создал собственный обработчик ошибок и включил его в свой шаблон отдыха, используя:
restTemplate.errorHandler(new MyCustomErrorHandler());
Я также переопределил hasError()
метод, но внутри я должен проанализировать этот объект, чтобы проверить, содержит ли он поля с ошибками ...
Это хороший подход для обработки ошибок? Должен ли я разобрать ответ дважды? Я ищу чистое решение для таких проблем, но я хочу избежать разбора сообщения дважды каждый раз, когда я использую внешнюю службу