【发布时间】:2020-10-05 19:59:50
【问题描述】:
在我的 Spring Boot REST 应用程序中,我确实希望在没有明确设置类的属性时,Jackson 应该忽略它们。但如果它们设置为null,则应提供并序列化它们。
@JsonInclude(Include.NON_NULL) 忽略 null 值,但在实际未设置的值和已明确设置为 null 的值之间没有区别。
检查以下示例(使用 Lombok),它显示了我想要在这里实现的目标:
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
@Getter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Example {
@JsonProperty("name")
private String name;
@JsonProperty("test")
private String test;
}
Example.builder().test("test").build() 应该导致 {test: "test"}Example.builder().name(null).test("test).build() 应该导致 {name: NULL, test: "test"}
实现这一目标的最佳方法是什么?
【问题讨论】:
标签: java spring-boot serialization jackson lombok