如何在Spring Integration中为JsonObjectMapper设置日期格式



我正在使用 Spring IntegrationObjectToMapTransformertransformPayload()将我的 Java 对象转换为Map

一切都很好,除了我的对象中的Instant字段被分解为epochSecondnano,这反过来又在保留数据存储(MongoDB(时引发异常。

这是用于将Object转换为Map的 Spring 积分JsonObjectMapperprivate final JsonObjectMapper<?, ?> jsonObjectMapper = JsonObjectMapperProvider.newInstance();

我的问题是如何为上述映射器配置日期格式。就像JacksonObjectMapper::configure()一样,我们这里有类似的选择吗? 我找不到任何东西,无论是在源代码中还是在互联网上!!

我也尝试在我的application.properties中启用/禁用spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS,但没有快乐!

我的pom.xmljackson-datatype-jsr310

依赖如何以正确的格式获取Instant

我认为我们应该添加对自定义JsonObjectMapper注入的支持。这样您就可以根据所需的ObjectMapper构建Jackson2JsonObjectMapper

请就此事提出JIRA票证,不要犹豫:https://github.com/spring-projects/spring-integration/blob/master/CONTRIBUTING.adoc

同时,作为一种解决方法,我建议一对ObjectToJsonTransformer/JsonToObjectTransformer

.transform(Transformers.toJson(jsonObjectMapper(), ObjectToJsonTransformer.ResultType.NODE))
.transform(Transformers.fromJson(Map.class, jsonObjectMapper()))

相关内容

  • 没有找到相关文章

最新更新