#spring-boot #exception #interceptor #spring-restcontroller
Вопрос:
У меня есть RestController с парой функций сопоставления, которые ожидают пользовательское @RequestBody. Если сопоставление тела запроса не соответствует типу POJO тела запроса, контроллер перейдет к обработчику исключений. Но я хочу зарегистрировать детали запроса, который не соответствует ожидаемому POJO. Как я могу это сделать? Я пробовал использовать ResponseEntityExceptionHandler (расширено в ExceptionHandler), но это, похоже, не работает.
protected ResponseEntity<Object> handleHttpMessageNotReadable(HttpMessageNotReadableException ex, HttpHeaders headers, HttpStatus status, WebRequest request) {
log.error("Invalid request body: " request.toString());
CustomResponse response = new CustomResponse();
.............
response.setException(ex);
return new ResponseEntity<>(response, HttpStatus.BAD_REQUEST);
}
Есть какие-нибудь предложения о том, как я могу это сделать?