У меня есть базовое приложение SpringBoot 2.0.5.RELEASE.Используя Spring Initializer, JPA, встроенный Tomcat, шаблонизатор Thymeleaf и пакет в качестве исполняемого файла JAR.
Я создал этот ExceptionHandler
@RestControllerAdvice
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
private static final Logger LOG = LoggerFactory.getLogger (RestResponseEntityExceptionHandler.class);
public RestResponseEntityExceptionHandler() {
super();
}
@ExceptionHandler({ WorkFlowException.class })
public ResponseEntity<Object> handleInternalExceptions(final RuntimeException ex, final WebRequest request) {
LOG.error("InternalExceptions Code", ex);
return handleExceptionInternal(ex, ex.getMessage(), new HttpHeaders(), HttpStatus.FORBIDDEN, request);
}
}
в RestController. Я выбрасываю это исключение:
new WorkFlowException("NOT_SIGNED");
в клиенте у меня есть этот код:
ResponseEntity<String> response = restTemplate
.exchange("http://85.30.243.61:1233/theApp/api/v1/users/sign", HttpMethod.POST, entity, String.class);
Когда я делаю System.out.println(response.getStatusCode());
У меня есть это сообщение в консоли:
Exception in thread "main" org.springframework.web.client.HttpClientErrorException: 403 null
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:94)
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:79)
at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63)
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:730)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:688)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:644)
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:564)
и мне интересно, есть ли способ извлечь сообщение Exception NOT_SIGNED