cxf webservice接收date类型字段值为空导致异常问题解决方案

CXF WebService接收Date类型字段值为空时,后台会报错,原因是CXF未处理好空值情况。以Spring Boot CXF为例,解决方案是自定义Date字段转换方式,涉及增加自定义Date转换类、对象class增加注解、属性增加注解三点改造。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cxf webservice接收date类型字段值为空时,后台会报错。原因是cxf没有很好处理空值的情况。

解决方案

自定义date字段的转换方式。以springboot cxf 为例。涉及以下三点改造。

1、增加自定义date转换类
public class DateXmlAdapter extends XmlAdapter<String,Date>{

	@Override
	public Date unmarshal(String v) throws Exception {
		if(StringUtil.isBlank(v)) {
			return null;
		}
		return DateUtil.parseDate(v);
	}

	@Override
	public String marshal(Date v) throws Exception {
		if(null == v) { return "";}
		return DateUtil.formatDate(v, "yyyy-MM-dd");
	}

}
2、对象class增加注解
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement
class Person{
3、属性增加注解
@XmlSchemaType(name = "string", type = Date.class)
@XmlJavaTypeAdapter(value = DateXmlAdapter.class)
private Date sdate;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值