@Validated和@Valid三种异常捕获处理方式

目录

  • @Validated和@Valid异常捕获
    • 异常共三种
  • @Valid和@Validated区别
    • 注解位置

@Validated和@Valid异常捕获
异常共三种
  • BindException:表单提交有效,对于以json格式提交将会失效
  • MethodArgumentNotValidException:前段以json格式有效
  • ConstraintViolationException :参数上加@RequestParam或参数加@NotBlank @NotNull等

@Valid和@Validated区别
  • @Valid是使用Hibernate validation的时候使用
  • @Validated是只用Spring Validator校验机制使用
说明:java的JSR303声明了@Valid这类接口,而Hibernate-validator对其进行了实现
@Validation对@Valid进行了二次封装,在使用上并没有区别,但在分组、注解位置、嵌套验证等功能上有所不同,这里主要就这几种情况进行说明。

注解位置
  • @Validated:用在类型、方法和方法参数上。但不能用于成员属性(field)
  • @Valid:可以用在方法、构造函数、方法参数和成员属性(field)上
【@Validated和@Valid三种异常捕获处理方式】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读