最近在修改一个功能,实现按日期筛选账单。于是在请求的实体加了一个字段。
由A服务来调用B服务(账单服务)
/**
* 供应商Id
*/
@ApiModelProperty(value = "供应商ID")
private String supplierId;
/**
* 开始日期
*/
@ApiModelProperty(value = "开始日期")
private Date startDate;
/**
* 截至日期
*/
@ApiModelProperty(value = "截至日期")
private Date endDate;
加完了,上swagger一跑,结果报错了。
直接调用B服务的接口,可以正常调用。
于是想到了feign调用可能失败了。想了想也没改啥,于是锁定了这俩Date字段。
仔细排查了一下,原来是序列化错误了。于是想到了序列化的注解。加上!
/**
* 供应商Id
*/
@ApiModelProperty(value = "供应商ID")
private String supplierId;
/**
* 开始日期
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "开始日期")
private Date startDate;
/**
* 截至日期
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "截至日期")
private Date endDate;
再次调用,ok,大功告成
由于刚写java,对于一些坑没有踩过,在此记录下来。