@NotBlank不生效
时间: 2024-06-14 11:07:17 浏览: 175
@NotBlank注解用于验证字符串类型的属性是否为空或者只包含空格。如果@NotBlank注解不生效,可能是以下几个原因:
1. 引入的注解包不正确:@NotBlank注解有两个来源,一个是javax.validation.constraints.NotBlank,另一个是org.hibernate.validator.constraints.NotBlank。确保在实体类中使用的是正确的注解包。
2. 控制器层未使用@Valid注解:当@NotBlank注解用于实体类的某个属性时,需要在控制器层的实体对象前添加@Valid注解,以触发验证过程。
以下是一个示例代码,演示了@NotBlank注解的使用:
```java
import javax.validation.constraints.NotBlank;
public class User {
@NotBlank(message = "用户名不能为空")
private String username;
// getter and setter
}
@RestController
public class UserController {
@PostMapping("/users")
public void createUser(@Valid @RequestBody User user) {
// 处理用户创建逻辑
}
}
```
在上述示例中,@NotBlank注解用于验证User类中的username属性是否为空或者只包含空格。在UserController中的createUser方法中,使用@Valid注解触发验证过程。
阅读全文