Есть ли способ поместить несколько типов ошибок в один объект, @ExceptionHandler - PullRequest
0 голосов
/ 12 декабря 2018

Я впервые поднял вопрос в стеке потока.Я хотел бы спросить, существует ли метод для одновременного возврата нескольких типов ошибок в один объект для пользователей с помощью @ExceptionHandler?

Например, следующие требования необходимо выполнить, когда пользователь запрашивает службу

(1) accountNo : required
(2) userDecision : @Pattern(regex="^[1|2]$")

Однако пользователь пропустил accountNo (MissingServletRequestParameterException) и введите userDecision как 3 (ContraintViolationException).Тогда можно ли мне одновременно вернуть пользователю объект типа Json, например

 [
    {
        "error1":"your accnoutNo is empty",
        "error2":"your decision is wrong"
    }
] 

?

Большое спасибо и извините за мой плохой английский.

1 Ответ

0 голосов
/ 12 декабря 2018

Вы можете реализовать пользовательский Validator (https://docs.spring.io/spring/docs/4.1.x/spring-framework-reference/html/validation.html) и в методе validate отклонить значения.

После этого вы можете реализовать ExceptionHandler (extends ResponseEntityExceptionHandler) с аннотацией @ControllerAdvice для этого Validator.где вы обрабатываете ValidationExceptions.

Посмотрите на это: https://stackoverflow.com/a/53726774/10664009 возможно, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...