Я использую весну RestTemplate
, чтобы потреблять службы отдыха (выставлены в весеннем отдыхе). Я могу использовать сценарии успеха. Но для отрицательных сценариев служба возвращает сообщения об ошибках и коды ошибок. Мне нужно показать эти сообщения об ошибках на моей веб-странице.Обработка остаточного клиента Spring Rest
См., Например, для недействительного запроса, сервисные броски HttpStatus.BAD_REQUEST
с правильными сообщениями. Если я поставлю блок try-catch, он переходит в блок catch, и я не могу получить объект ResponseEntity
.
try {
ResponseEntity<ResponseWrapper<MyEntity>> responseEntity = restTemplate.exchange(requestUrl, HttpMethod.POST, entity,
new ParameterizedTypeReference<ResponseWrapper<MyEntity>>() {
});
responseEntity.getStatusCode();
} catch (Exception e) {
//TODO How to get response here, so that i can get error messages?
e.printStackTrace();
}
Как получить ResponseWrapper
для случая исключения?
Я прочитал около CustomRestTemplate
и ResponseExtractor
от here, но не смог решить, какой из них лучше всего подходит для моего дела.
вы можете создать сам новый объект Response Entity. new ResponseEntity (HttpStatus.BAD_REQUEST); для получения сообщений об ошибках, вам нужно поймать RestClientException и получить сообщение от rce.getMessage() примерно так. –
Вы можете поймать HttpStatusCodeException, у которого есть код состояния http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/HttpStatusCodeException.html –