我有一个带有 JAXB 字段注释的 REST Web 服务。
例如,
@XmlAccessorType(XmlAccessType.PROPERTY)
public class MyClass{
private BigDecimal sum;
//+ getter and setter
}
如果字段“sum”包含大值,例如 1234567890.12345,则会编组为 1.23456789012345E9
如何编写仅编组此类的规则?
创建适配器
puclic class BigDecimalAdaptor implements XmlAdapter<String, BigDecimal>
并用于(XmlAccessType.FIELD)
access
@XmlJavaTypeAdapter(BigDecimalAdaptor.class)
private BigDecimal sum;
and for (XmlAccessType.PROPERTY)
access
@XmlJavaTypeAdapter(BigDecimalAdaptor.class)
public getSum()
{
return sum;
}
适配器可以像
public class BigDecimalAdapter extends XmlAdapter<String, BigDecimal>{
@Override
public String marshal(BigDecimal value) throws Exception
{
if (value!= null)
{
return value.toString();
}
return null;
}
@Override
public BigDecimal unmarshal(String s) throws Exception
{
return new BigDecimal(s);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)