繁体   English   中英

XmlElement required = true对于Integer不起作用

[英]XmlElement required = true for Integer doesn't work

我使用jax-rs服务。 我的类中有两个用@XmlElement(required = true)注释的字段,一个用于布尔值,另一个用于Integer。 但是,如果我发送没有值的xml标记,则对于布尔值,我会收到null,但是对于整数,我会收到0

@XmlElement(required = true)
private Integer intValue;

@XmlElement(required = true)
private Boolean booleanValue;

为什么我在Integer中没有收到null?

我只应该添加defaultValue =“ null”

@XmlElement(required = true, defaultValue = "null")
private Integer intValue;

整数字段有“有趣的”(并非预期的)行为。 我找不到有关在jaxb中将哪些值分配给默认Integer的解释。

@XmlElement批注上的required属性对JAXB执行的编组/解组没有影响。 它仅在XML Schema生成期间用于确定元素声明的minOccurs0 (对于false)或1 (对于true)。

BooleanInteger解组行为之间的差异是由于JAXB参考实现中的错误所致。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM