Spring参数校验

常规校验

  • 常规的校验方法是在bean中判断参数是否合法,如果对象中需要校验的属性太多,对每一个参数写一个对应的if判断,代码可读性很差。

    Spring参数校验

  • 可以在对象类中给对象属性加注解来校验参数合法性。然后在控制层的方法中在形参前加@Valid注解,表示对该对象进行参数校验。

    Spring参数校验
    Spring参数校验
    需要注意的是@Valid 和 BindingResult 是一一对应的,如果有多个@Valid,那么每个@Valid后面都需要添加BindingResult用于接收bean中的校验信息。(如果采用全局异常处理,可以把BindingResult写到ExceptionHandler里,则不需要在@Valid后面加BindingResult)
    Spring参数校验
    校验失败会抛出ConstraintViolationException异常
    然后我们在全局异常捕获类捕获这个异常,返回给前台对应的错误json

  • 常用的校验注解:
    Spring参数校验
    注解大全:https://blog.****.net/u011851478/article/details/51842157