Mik*_*lov 12 java rest jaxb marshalling
我有一个带有JAXB字段注释的REST Web服务.例如,
@XmlAccessorType(XmlAccessType.PROPERTY)
public class MyClass{
private BigDecimal sum;
//+ getter and setter
}
Run Code Online (Sandbox Code Playgroud)
如果字段"sum"包含大值,例如1234567890.12345,那么它将编组为1.23456789012345E9如何编写仅用于编组此类的规则?
Ily*_*lya 18
创建适配器
puclic class BigDecimalAdaptor implements XmlAdapter<String, BigDecimal>
Run Code Online (Sandbox Code Playgroud)
并用于(XmlAccessType.FIELD)访问
@XmlJavaTypeAdapter(BigDecimalAdaptor.class)
private BigDecimal sum;
Run Code Online (Sandbox Code Playgroud)
并(XmlAccessType.PROPERTY)访问
@XmlJavaTypeAdapter(BigDecimalAdaptor.class)
public getSum()
{
return sum;
}
Run Code Online (Sandbox Code Playgroud)
适配器可以像
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);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8151 次 |
| 最近记录: |