spring boot web项目@Responsebody返回数据不包含为null字段
时间: 2023-06-25 19:04:05 浏览: 311
spring boot 下对JSON返回值去除null和空字段操作
在 Spring Boot Web 项目中,可以使用 Jackson 库来控制 JSON 序列化的行为。如果你想要在返回数据时过滤掉为 null 的字段,可以使用 Jackson 提供的注解 @JsonInclude(Include.NON_NULL)。
例如,假设你有一个 User 类,其中有一些字段可能为 null:
```java
public class User {
private String name;
private Integer age;
private String email;
// getters and setters
}
```
在控制器中,你可以使用 @JsonInclude 注解指定序列化时要忽略为 null 的字段:
```java
@RestController
public class UserController {
@GetMapping("/user")
public User getUser() {
User user = new User();
user.setName("John");
user.setAge(null);
user.setEmail("john@example.com");
return user;
}
}
```
在这个例子中,如果你不加任何注解,返回的 JSON 数据会包含 age 字段,其值为 null。现在,你可以在 User 类上加上 @JsonInclude 注解:
```java
@JsonInclude(JsonInclude.Include.NON_NULL)
public class User {
// ...
}
```
这样,在返回 JSON 数据时,Jackson 就会忽略掉 age 字段,只返回 name 和 email 两个字段的值。
阅读全文