📅  最后修改于: 2023-12-03 14:38:56.368000             🧑  作者: Mango
在开发中,经常需要对字符串做一些校验,其中非空校验是最基础的校验之一。Spring 提供了一个 @NotBlank
注解来进行字符串非空校验。
@NotBlank
注解位于 javax.validation.constraints
包下,它的作用是检查被修饰的字符串是否为空或空字符串。
使用方法如下:
public void testParameter(@NotBlank String param) {
System.out.println(param);
}
在方法的参数上加上 @NotBlank
注解,当传入的参数为空或空字符串时,就会抛出 javax.validation.ConstraintViolationException
异常。
需要注意的是,使用 @NotBlank
注解需要先引入相关依赖:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
以下为一个使用 @NotBlank
注解的示例:
@RestController
@RequestMapping("/api")
public class UserController {
@PostMapping("/user")
public void addUser(@RequestBody @Valid User user) {
// 处理用户数据
}
}
在上面的代码中,我们在 @RequestBody
参数上加上了 @Valid
注解,表示需要对该参数进行校验,而 User
对象的 name
和 email
字段上分别使用了 @NotBlank
注解。
当我们发送一个没有填写 name
或 email
字段的 POST 请求时,就会收到一个 400
状态码的响应。
使用 @NotBlank
注解可以方便地进行字符串非空校验,可以避免我们手动进行 if 判断的繁琐,同时也可以提高代码的可读性。但是需要注意的是,它只能检查空字符串,无法检查空格等其他不可见字符。