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

编辑: admin 分类: java 发布时间: 2021-12-04 来源:互联网
目录
  • @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)上

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

【转自:http://www.nextecloud.cn/jap.html 欢迎转载】