Springboot @Validated注解详细说明
    		       		warning:
    		            这篇文章距离上次修改已过423天,其中的内容可能已经有所变动。
    		        
        		                
                @Validated 是 Spring Framework 中的一个注解,它是 @Valid 注解的一个变体,专门用于 Spring 环境。@Validated 注解可以提供分组验证、注解级别的缓存以及方法级别的验证支持。
@Validated 注解可以指定验证的分组,这对于实现例如创建和更新用户时使用不同的验证规则非常有用。此外,@Validated 还可以与 javax.validation 中的 Bean 验证注解(如 @NotNull、@Size 等)一起使用来确保 Bean 的字段满足特定的业务规则。
使用 @Validated 注解时,你可以指定如下两个元素:
- value:指定一组分组类。
- annotation:指定需要被注解的分组。
下面是一个使用 @Validated 注解的简单例子:
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
@Validated
public class MyController {
 
    @PostMapping("/user")
    public String createUser(@RequestBody @Validated User user) {
        return "User created";
    }
}
 
class User {
    @NotNull(message = "The name cannot be null")
    private String name;
 
    @Size(min = 10, message = "The address must contain at least 10 characters")
    private String address;
 
    // getters and setters
}在这个例子中,@Validated 注解被用于 MyController 类,它确保 User 对象在被传递到 createUser 方法之前是有效的。User 类的 name 和 address 字段使用了 @NotNull 和 @Size 注解,这些注解来自 javax.validation.constraints 包,以确保它们满足特定的业务规则。如果验证失败,Spring Framework 会自动处理异常并返回相应的错误信息。
评论已关闭