我使用jax-rs服务。我的类中有两个用@XmlElement注释的字段(required = true),一个用于布尔值,另一个用于Integer。但如果我发送没有值的xml标签,对于布尔我收到空,但对于整数我收到0
@XmlElement(required = true)
private Integer intValue;
@XmlElement(required = true)
private Boolean booleanValue;
为什么我在整数中没有收到空?
答案 0 :(得分:1)
我应该添加defaultValue =" null"
@XmlElement(required = true, defaultValue = "null")
private Integer intValue;
有趣的' (不期望)整数字段的行为。我找不到在jaxb中为默认整数赋值的解释。
答案 1 :(得分:1)
required
注释上的@XmlElement
属性对JAXB执行的编组/解组没有影响。它仅在XML Schema生成期间用于确定元素声明是否应该minOccurs
0
(对于false)或1
(对于true)。
Boolean
和Integer
的解组行为之间的区别是由于JAXB参考实现中的错误。