springboot用注解写一个入参对象中的参数不能为null的实例
时间: 2024-05-03 18:17:04 浏览: 159
详解SpringBoot中的参数校验(项目实战)
可以使用JSR 303的注解来实现参数校验,具体步骤如下:
1. 在入参对象中添加校验注解,例如 @NotNull、@NotBlank、@NotEmpty 等。
```java
public class User {
@NotBlank(message = "用户名不能为空")
private String username;
@NotBlank(message = "密码不能为空")
private String password;
// getter/setter 省略
}
```
2. 在 Controller 中使用 @Validated 注解开启参数校验,并使用 BindingResult 对象接收校验结果。
```java
@RestController
@RequestMapping("/user")
@Validated
public class UserController {
@PostMapping("/login")
public String login(@RequestBody @Valid User user, BindingResult result) {
if (result.hasErrors()) {
return result.getAllErrors().get(0).getDefaultMessage();
}
// 登录逻辑
}
}
```
在上述示例中,@Validated 注解开启了参数校验,@RequestBody 注解表示请求体中的数据将被映射到 User 对象中,@Valid 注解表示需要对 User 对象进行校验,BindingResult 对象接收校验结果,如果校验失败,则从 BindingResult 中获取第一个错误信息返回给客户端。
需要注意的是,如果使用 @RequestParam 或 @PathVariable 注解来接收参数,则需要在相应参数上添加 JSR 303 的校验注解,例如 @NotNull、@NotBlank、@NotEmpty 等。
阅读全文