Это scenerio.
Я создаю бизнес-микросервис (SERVICE2), который использует другой SERVICE1 (он взаимодействует с базой данных).
Как обработать обработку ошибокответ API?
Рассмотрены следующие ссылки:
Spring MVC - исключение при запуске RestTemplate, когда происходит http 404
REST API 404: неверный URI или недостающий ресурс?
https://www.baeldung.com/spring-rest-template-error-handling
Вызов API:
ResponseEntity<UserInfo> response = (restTemplate.getForEntity(RESOURCE_URL, UserInfo.class, assetId));
return response.getBody();
}
Я сделал это:
@Component
@ControllerAdvice
public class ApiErrorHandler extends ResponseEntityExceptionHandler {
@ExceptionHandler({HttpClientErrorException.class, HttpServerErrorException.class})
public void handleError(HttpClientErrorException ex, HttpServletResponse response) throws IOException {
LOGGER.error(ex.getMessage(),ex);
response.sendError(ex.getRawStatusCode());
}
}
Я получил это:
Я отправил на запрос SERIVCE: 1
- API-вызов к SERVICE1 -> 404 ответа и 405 ответа и 200 ок
Я получил
SERIVCE2 -> 404 ответ с меткой времени, сообщением, трассировкой, путем
Что мне нужно
Я хочу отправитьтолько код ответа и сообщение для отправки обратно, а не след.
Реализован ли верный подход?
Я не могу использовать, просто попробуйтеи поймать, потому что я реализовал 10 конечных точек в контроллере и сделал вызов API для различных служб.