我有一個帶有JAXB字段批註的REST webservice。 例如,在JAXB編組中使用BigDecimal
@XmlAccessorType(XmlAccessType.PROPERTY)
public class MyClass{
private BigDecimal sum;
//+ getter and setter
}
如果場「和」包含大的值,例如,1234567890.12345,它執法官到1.23456789E9 如何寫編組僅此一等級規則?
我有一個帶有JAXB字段批註的REST webservice。 例如,在JAXB編組中使用BigDecimal
@XmlAccessorType(XmlAccessType.PROPERTY)
public class MyClass{
private BigDecimal sum;
//+ getter and setter
}
如果場「和」包含大的值,例如,1234567890.12345,它執法官到1.23456789E9 如何寫編組僅此一等級規則?
創建適配器
puclic class BigDecimalAdaptor implements XmlAdapter<String, BigDecimal>
和使用(XmlAccessType.FIELD)
訪問
@XmlJavaTypeAdapter(BigDecimalAdaptor.class)
private BigDecimal sum;
和(XmlAccessType.PROPERTY)
訪問
@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);
}
}
你寫了一個XmlAdapter<String, BigDecimal>
,你用它來註釋總和: @XmlJavaTypeAdapter(BigDecimalStringAdapter.class)
。