Как установить собственное сообщение об ошибке на весну mvc @RequestParam date - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть метод для службы отдыха, определенный следующим образом:

    public ResponseEntity<?> methodName(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date,

)

Когда для параметра даты установлено недопустимое значение, например 2020-3-999, ответ от службы:

{"status": "error", "message": "Malformed request"}

Мне нужен способ настроить то, что появляется в поле «message» этого ответного сообщения ..

Ответы [ 2 ]

1 голос
/ 05 февраля 2020

Вы можете создать класс пользовательской обработки ошибок, который должен быть аннотирован @ControllerAdvice и расширить ResponseEntityExceptionHandler.

Внутри класса вы можете обработать исключение, которое произошло в вашем сценарии, и ответить специальным сообщением об ошибке.

Подробнее о реализации см. https://www.baeldung.com/global-error-handler-in-a-spring-rest-api.

1 голос
/ 05 февраля 2020

Вы можете взять запрос RequestParam в виде строки и затем преобразовать его в объект date. Если формат указан неверно, вы можете легко вернуть настроенный вывод.

...