@Validated 和 @Valid 都是 Spring 框架中用于参数校验的注解,但它们存在以下区别:

  1. 作用范围不同: @Validated 用于类和方法级别的校验,@Valid 用于方法参数级别的校验。

  2. 校验机制不同: @Validated 是 Spring 框架提供的校验机制,可以支持 JSR-303/JSR-349 规范之外的校验注解,如 ' @Email ', ' @NotBlank ' 等;而 @Valid 是 JSR-303/JSR-349 规范中定义的校验注解,只能支持规范中定义的注解。

  3. 异常类型不同: @Validated 校验失败会抛出 MethodArgumentNotValidException 异常,@Valid 校验失败会抛出 ConstraintViolationException 异常。

  4. 分组校验方式不同: @Validated 可以支持分组校验,@Valid 不支持分组校验。

综上所述,@Validated 和 @Valid 的使用场景不同,需要根据实际情况选择合适的注解。

@Validated 和 @Valid 注解区别:Spring参数校验指南

原文地址: https://www.cveoy.top/t/topic/kWaG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录