springboot用注解@Validated和@NotNull写一个入参对象中的参数不能为null的实例
时间: 2024-05-05 17:22:21 浏览: 174
springboot使用事物注解方式代码实例
假设我们有一个入参对象 `User`,其中包含 `name` 和 `age` 两个属性,我们要求在使用该对象作为参数的接口中,`name` 和 `age` 都不能为空。
可以使用 `@Validated` 和 `@NotNull` 注解来实现参数校验。
首先在 `User` 类中添加 `@NotNull` 注解:
```java
public class User {
@NotNull(message = "name不能为空")
private String name;
@NotNull(message = "age不能为空")
private Integer age;
// 省略getter和setter方法
}
```
然后在接口方法中添加 `@Validated` 注解,并在参数前加上 `@RequestBody` 注解:
```java
@RestController
@RequestMapping("/user")
@Validated
public class UserController {
@PostMapping("/add")
public String addUser(@RequestBody @Validated User user) {
// 处理添加用户的逻辑
return "success";
}
}
```
这样,在接口调用时,如果 `name` 或 `age` 为 `null`,就会抛出 `MethodArgumentNotValidException` 异常,并返回错误信息。
阅读全文