【发布时间】:2021-03-27 13:01:25
【问题描述】:
我的 Spring Boot 应用程序查询外部 SOAP 服务。从它的 WSDL/XSD 生成类后,这就是类的样子。
如您所见,dateOfBirth 的类型为 XMLGregorianCalendar。 SOAP 响应包含以下格式的出生日期:1991-11-08+01:00。
public class Applicant {
// other properties
@XmlElement(required = true)
@XmlSchemaType(name = "date")
protected XMLGregorianCalendar dateOfBirth;
// getters & setters
}
Spring 应用程序接收来自 SOAP 服务的响应主体,并将其作为 Jackson 序列化的 JSON“按原样”返回给其调用客户端。问题是,杰克逊似乎将dateOfBirth 序列化为另一种格式。
这是 cilent 最终收到的格式:
{
"dateOfBirth": "1976-11-12T23:00:00.000+00:00"
}
是否有一些配置或自定义实现我可以使用,这样杰克逊就不会重新格式化这个日期?在最坏的情况下,我可以编写一个映射 SOAP 响应的类,但这听起来很乏味。
【问题讨论】:
标签: json spring spring-boot jackson