@validated 注解用于验证方法参数和请求体,其参数包括:value:指定校验器类groups:指定校验组,允许根据场景自定义规则
@validated 注解参数及使用教程
简介
@Validated 注解是 Spring Boot 用于验证方法参数和请求体的有效性的注解。它可以与不同的校验器一起使用,包括 JSR-303、Bean Validation 和 Hibernate Validator。
参数
@Validated 注解的参数如下:
- value: 指定要使用的校验器类。如果未指定,将使用默认校验器(通常是 Hibernate Validator)。
- groups: 指定要应用的校验组。校验组允许根据不同的场景自定义验证规则。
使用
要使用 @Validated 注解,需要将其放在需要验证的方法参数或请求体之前。例如:
@PostMapping("/user") public User createUser(@RequestBody @Validated User user) { // 代码略 }登录后复制
在上面的示例中,@Validated 注解表明 user 参数应该使用默认校验器进行验证。如果用户请求体中缺少必填字段或字段格式不正确,Spring Boot 将抛出一个 MethodArgumentNotValidException 异常。
校验组
校验组允许根据不同的场景自定义验证规则。要定义校验组,可以使用 @ValidationGroups 注解。例如:
public interface UserValidationGroups { interface Create {} interface Update {} }登录后复制
然后,可以在使用 @Validated 注解时指定校验组:
@PostMapping("/user") public User createUser(@RequestBody @Validated(groups = UserValidationGroups.Create.class) User user) { // 代码略 }登录后复制
在上面的示例中,@Validated 注解指定了 UserValidationGroups.Create 校验组。这意味着在创建用户时将应用该组中的验证规则。
以上就是@validated注解参数及使用教程的详细内容,更多请关注本网内其它相关文章!