【发布时间】:2021-01-24 21:21:44
【问题描述】:
我有以下...
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class Address extends ResultSetParser{
// TODO: Need Escaped
@JacksonXmlProperty(localName = "addressLine1")
private String line1;
@JacksonXmlProperty(localName = "addressLine2")
private String line2;
...
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class Client extends ResultSetParser{
@JacksonXmlElementWrapper(useWrapping = false)
private Address address;
...
}
但是,当地址为空时,我仍然得到...
<client>
...
<address/>
为什么会这样,我该如何避免?
更新
为了明确,这是一个具有多个属性的数据库记录,如果发生这种情况,这些属性都为空。这意味着,如果不进行大量重构,就不可能添加逻辑来检查对象中的每个值(返回过程中的 100 多列)。我正在寻找某种方法来告诉它如果所有属性都为 null 而没有一些丑陋的 if 语句,则不要创建对象。
此外,在这个特定示例中,地址对象从未创建(初始化)。但是,像 Lombok 这样的框架本可以有所作为。
【问题讨论】: