自定义 ObjectMapper 以正确序列化 LocalDateTime

Customise ObjectMapper to serialise LocalDateTime properly

提问人:adarshr 提问时间:11/15/2023 更新时间:11/16/2023 访问量:45

问:

我正在我的项目中使用Spring Vault,并尝试将序列化表示(ISO日期时间格式)作为机密数据存储在Vault中。但是,Spring Vault 内部使用的似乎不是可自定义的。所以我无法注册来自 .LocalDateTimeObjectMapperJavaTimeModulecom.fasterxml.jackson.datatype:jackson-datatype-jsr310

有没有办法解决这个问题?

Java Jackson Spring-Vault

评论

0赞 jon hanson 11/15/2023
LocalDateTime 值是否是您控制的类的成员字段?
0赞 adarshr 11/16/2023
@jonhanson是的。
1赞 jon hanson 11/16/2023
您是否考虑过使用批注来覆盖类的序列化方式?
0赞 adarshr 11/16/2023
直到现在我才知道。谢谢你的提示。会尝试这个,虽然它不理想。

答:

0赞 adarshr 11/16/2023 #1

正如一位评论员所暗示的那样,我能够通过使用杰克逊注释来解决这个问题。它并不理想,但无需在 Spring Vault 中更改任何内容即可完成工作。

@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
private OffsetDateTime createdAt