Java 如果未执行JAXB模型中的setter,则不显示XML元素
给出了以下JAXB模型:Java 如果未执行JAXB模型中的setter,则不显示XML元素,java,xml,rest,jaxb,boolean,Java,Xml,Rest,Jaxb,Boolean,给出了以下JAXB模型: @XmlRootElement(name = "Customer") @XmlAccessorType(XmlAccessType.FIELD) public Customer { @XmlElement(name = "Name") private String name; @XmlElement(name = "IsVerified") private boolean isVerified; // Setter and gette
@XmlRootElement(name = "Customer")
@XmlAccessorType(XmlAccessType.FIELD)
public Customer {
@XmlElement(name = "Name")
private String name;
@XmlElement(name = "IsVerified")
private boolean isVerified;
// Setter and getter for both attributes
}
我使用这个模型以XML(GET-request-returns-application/XML)的形式显示REST资源。
如果未使用适当的设置器设置
name
和isVerified
,则XML元素name
将不会显示在资源中,但isVerified
将出现,且值为false
。如果未执行元素的setter,是否也可以不显示元素IsVerified
加上nillable
@XmlElement(name = "IsVerified", nillable='true')
添加nillable=true后,元素IsVerified仍然显示。您确定它设置为null吗?对不起,这是我的错误。用布尔值代替布尔值就行了。谢谢!从概念上讲,如果您不想在输出中显示默认值,就不应该使用原语,而是使用包装类,因为它们是用NULL初始化的。