我在Spring中有一个跟随DTO类的JSONNode字段,如下所示
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.JsonNode;
@lombok.Data
class ABC {
@JsonProperty("info")
JsonNode info;
}
是否有更简洁的方法为字段分配默认值而不是下面提到的方法,以便访问abcObj.getInfo()。toString()总是给出" {}"如果info为null?我至少有5个这样的字段,我想避免重复这段代码。
public JsonNode getInfo() {
if (this.info == null) {
return JsonNodeFactory.instance.objectNode();
}
return this.info;
}
我能想到的另一种方法是在Constants类中定义一个静态方法,该方法总是返回一个空的json节点,并在声明成员数据时使用它来初始化。
@JsonProperty("info")
private JsonNode info = Constants.getEmptyJsonNode();
但是这样,我需要为List,JsonNode等不同类型的字段创建单独的方法。
我也尝试在JsonProperty中使用defaultValue选项,但它似乎并没有提供我正在寻找的功能。