我在JAXB编组方面遇到了一些麻烦。我只是说我还在学习编组,解组和JAXB。
基本上,我有一个REST端点,它接收并返回一个PriceItem对象。
@JsonInclude(JsonInclude.Include.NON_NULL)
@XmlRootElement(name = "priceItem")
@XmlType(propOrder = { "name", "value"})
public class PriceItem implements Comparable<PriceItem> {
private String name;
private Number value;
@GET
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Path("/name")
@XmlElement(name = "name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@GET
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Path("/value")
@XmlElement(name = "value")
public Number getValue() {
return value;
}
public void setValue(Number value) {
this.value = value;
}
}
但是,当结果priceItem以XML格式返回时,它就像
一样<priceItem>
<name>Age - All Ages</name>
<value xsi:type="xs:long" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">29</value>
</priceItem>
值可以是小数或整数,因此我们使用Number。什么是最简单的方法来确保我没有获得关于解组的所有额外命名空间信息?