📜  @notblank 注解 spring - Java (1)

📅  最后修改于: 2023-12-03 14:38:56.368000             🧑  作者: Mango

使用 @NotBlank 注解来进行字符串非空校验

在开发中,经常需要对字符串做一些校验,其中非空校验是最基础的校验之一。Spring 提供了一个 @NotBlank 注解来进行字符串非空校验。

@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 对象的 nameemail 字段上分别使用了 @NotBlank 注解。

当我们发送一个没有填写 nameemail 字段的 POST 请求时,就会收到一个 400 状态码的响应。

总结

使用 @NotBlank 注解可以方便地进行字符串非空校验,可以避免我们手动进行 if 判断的繁琐,同时也可以提高代码的可读性。但是需要注意的是,它只能检查空字符串,无法检查空格等其他不可见字符。