接口参数校验
@Validated和@Valid
简单用法
作用在 controller 上
【校验失败抛出 ConstraintViolationException】
@RequestParam参数校验
eg:(@NotEmpty(message = "名称不能为空") String name)
@PathVariable参数校验
eg: (@Min(value = 1, message = "id错误") @PathVariable Integer id)
作用于入参参数
【校验失败抛出 BindException】
@Valid + 实体类eg: (@RequestBody @Valid User user)
@Validated + 实体类(支持分组)eg: (@RequestBody @Validated User user)
嵌套使用:成员属性是需要验证属性的对象时
【校验失败抛出 MethodArgumentNotValidException】
@Valid,需要在外面的成员属性上添加 @Valid,才会验证里面对象
@Validated 无法作用于成员属性
需要注意的是:@Valid 作用于方法时不能作用于 void 方法【作用于方法校验失败抛出 BindException】
验证配置
校验默认验证完所有的字段才会返回,可通过配置修改,一个错误直接返回
import org.