【问题标题】:ValidationException vs ConstraintViolationException for validationValidationException vs ConstraintViolationException 用于验证
【发布时间】:2018-10-15 16:10:39
【问题描述】:

我正在尝试找出我必须在 @ControllerAdvice 上使用哪个异常(ConstraintViolationExceptionValidationException), .

我的控制器是

@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

我对使用哪种类型的异常感到困惑。

【问题讨论】:

    标签: spring-boot spring-restcontroller spring-validator


    【解决方案1】:

    除非在验证过程中发生错误,否则不会自动抛出异常,例如(然后会抛出ValidationException)。

    RequestBody 中的任何验证错误都将传递给您也作为函数参数的BindingResult。然后由您决定是否要抛出异常。

    我建议您阅读此Spring Tutorial about Validating Form Input 以更好地了解如何实现您想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-20
      • 2021-10-22
      • 1970-01-01
      • 2021-05-06
      • 2021-07-19
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      相关资源
      最近更新 更多