Извлеч информацию из ошибки HttpClientErrorException при работе с restTemplate
Я вызываю
ResponseEntity<Message> response = restTemplate.exchange(urlRemoveCard, HttpMethod.POST, requestBody, Message.class);
проблема в том, что я не совсем понимаю, как обработать ответ от urlRemoveCard. urlRemoveCard это url к вневнему сервису. В свагере указано, что если все хорошо, то приходит код 200 и message ".....".
но при различных других вариантах предусмотренны ошибки разных статусов.
К примеру если случается HttpClientErrorException то может вернуться ошибка
code 1800009 message "......."
Мне нужно из любого ответа извлекать данные и сохранять в Response.class который содержит поля code и message. 
Проблема в том что когда случается Exeption я просто перехватываю его, где в строке записан код и сообщение. Мне нужно вытащить из этой строки данные, а это очень не удобно.
Можно ли как то перехватывать ответ и доставать из него код и сообщение?
фрагмент свагера.
Message это простой объект
@Data
public class Message {
private String code;
private String message;
}
Ответы (1 шт):
Перехватывайте RestClientException
И доставайте что вам нужно)) Как вариант
Exception ex = ....
//Получаем исключение
String responseBody = ex.getMessage();
//Если это ошибка ответа
if (ex instanceof RestClientResponseException) {
//получаем тело ответа
responseBody = ((RestClientResponseException) ex).getResponseBodyAsString();
}
//Тут что-то делаете с responseBody