想象一下,我有一个这样的实体。
public class Person{
Long Id,
String name,
String city,
Long age
//getters, setters, constructor
}
当我创建存储库并使用GET请求输出的city条目为null时,以下是我的json响应。
{
"name": "jon",
"age": 34
}
但是我想要这个。
{
"name": "jon",
"city": null,
"age": 34
}
即显示空属性。
最简单的解决方法是什么?
答案 0 :(得分:3)
确保您的ObjectMapper
中没有 以下配置:
mapper.setSerializationInclusion(Include.NON_NULL);
如果有,请将其删除或更改为Include.ALWAYS
。
还要检查您的application.properties
。如果您使用的是Spring Boot 1.3,则通过spring.jackson.serialization-inclusion
属性配置序列化包含项。
Jackson 2.7和Spring Boot 1.4使用名为spring.jackson.default-property-inclusion
的属性。
确保此类属性的值为non_null
。
另一种方法是,按如下所示注释您的班级:
@JsonInclude(Include.ALWAYS)
public class Person {
...
}
答案 1 :(得分:1)
我认为您应该检查JSON注释JsonInclude.Include并将其设置为ALWAYS: https://fasterxml.github.io/jackson-annotations/javadoc/2.0.0/com/fasterxml/jackson/annotation/JsonInclude.Include.html