注解校验能举个例子吗
注解校验(也叫声明式校验)就是在 Java 类中,用 @ 开头的标签(注解)对字段添加规则,框架自动帮你检查输入是否合法,省去手写 if-else 的判断。
举个例子,假设你有一个用户注册的类:
public class User {
@NotBlank(message = "用户名不能为空")
private String username;
@Size(min = 6, max = 20, message = "密码长度为6-20位")
private String password;
@Email(message = "邮箱格式不正确")
private String email;
}
当用户提交注册信息时,你只需要在控制器里加一个 @Valid 注解:
@PostMapping("/register")
public String register(@Valid @RequestBody User user) {
// 如果校验失败,框架会自动返回错误信息,不会进入这里
return "注册成功";
}
这样,框架会检查 username 是否为空白(空格、null 都不行)、password 长度是否在 6-20 之间、email 是否符合邮箱格式。如果有任何不满足,就会自动返回对应的错误消息。这种方法让代码更简洁,校验逻辑直接写在字段上,一目了然。