ValidationException vs ConstraintViolationException для проверки - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь выяснить, какое исключение (ConstraintViolationException или ValidationException) я должен использовать на @ControllerAdvice,.

Мой контроллер

@RequestMapping(value="/myUrl",method = RequestMethod.POST)
    public String getMyData( @Valid @RequestBody MyObject myObject,BindingResult bindingResult ) {   

И этомой класс ControllerAdvice, и я не уверен, какое исключение использовать.

   @ControllerAdvice
    public class ValidationAdviceClass{
        @ExceptionHandler(ValidationException.class or ConstraintViolationException.class )
        public ResponseEntity handleValidtionErrors(ValidationException ex or ConstraintViolationException) {

       // mycode
}

При поиске я обнаружил, что кто-то говорит использование MethodArgumentNotValidException

Я не понимаю, какой тип исключения использовать.

1 Ответ

0 голосов
/ 15 октября 2018

Исключение не генерируется автоматически, если, например, в процессе проверки не произошла ошибка (тогда будет выброшено ValidationException).

Любые ошибки проверки в вашем RequestBody будут переданыBindingResult, что у вас также есть в качестве параметра вашей функции.Тогда вам решать, хотите ли вы выдать исключение.

Я предлагаю вам прочитать это Spring Tutorial о проверке ввода формы , чтобы лучше понять, как вы можете достичь того, что вы хотите.

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