springboot 忽略 json 不存在的字段配置
时间: 2024-11-09 10:17:24 浏览: 5
Spring Boot 提供了对JSON数据绑定的灵活性,允许你在处理请求时忽略JSON模型中不存在的字段,而不会抛出异常。这通常通过`@JsonInclude(JsonInclude.Include.NON_NULL)`或`@JsonInclude(JsonInclude.Include.NON_DEFAULT)`注解来实现。
1. `@JsonInclude(JsonInclude.Include.NON_NULL)`:当属性值为null时,该属性将不会出现在序列化的JSON中。如果属性值非空,则始终包含。
2. `@JsonInclude(JsonInclude.Include.NON_DEFAULT)`:只有默认值的属性才会从JSON中排除。如果不是默认值,即使属性值为null,它也会被序列化。
例如:
```java
public class User {
private String name; // 如果请求中name字段缺失,会忽略
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
private String email; // 只有email有默认值的情况下才不在JSON中显示
// getters and setters...
}
```
在Spring MVC中,可以全局配置这个行为,比如在`application.properties`或`application.yml`中设置:
```properties
spring.json.serialization.include=NON_NULL
```
这样,无论何时从JSON解析到Java对象或从Java对象序列化成JSON,都会自动忽略不存在的字段。
阅读全文