Как обработать исключение сбоя привязки даты в springmvc? - PullRequest
0 голосов
/ 16 марта 2019
    @PostMapping("/subscribe/add")
    Subscribe add(@RequestBody Subscribe sub) throws BindException {
        return sub;
    }

Subscribe имеет поле:

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate subDate;

Когда я передаю недопустимую дату, что-то вроде "abc", я получаю HttpMessageNotReadableException исключение. Я не могу получить какое-либо полезное сообщение от HttpMessageNotReadableException, которое может отправить клиенту, чтобы сказать пользователю "вы должны передать дату типа yyyy-MM-dd".

1 Ответ

0 голосов
/ 20 марта 2019

Можно использовать @ExceptionHandler, чтобы перехватить HttpMessageNotReadableException и преобразовать его в более явную ошибку HTTP-кода и соответствующее сообщение

Что-то похожее на это

@org.springframework.web.bind.annotation.ExceptionHandler(IllegalArgumentException.class)
public void handleIllegalArgument(HttpServletResponse res, Exception e)
        throws IOException {
    res.sendError(HttpServletResponse.SC_BAD_REQUEST, e.getMessage());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...