gpt4 book ai didi

java - Spring MVC 中的日期序列化

转载 作者:行者123 更新时间:2023-11-30 02:16:46 25 4
gpt4 key购买 nike

在我的 json 输出中,日期被渲染为对象,因此使用 Postman 进行测试会抛出错误:预期为 'u' 而不是 'e'

{
"ao_id":6,
"code":"AOO N°199-2017 C/T",
"objet":"Marché Cadre - Travaux de réfection de voiries",
"date_saisie":new Date(1514851200000)
}

我用以下方式注释了我的实体类:

 @Column(name = "date_saisie")
@JsonFormat(pattern="yyyy-MM-dd")
private Date date_saisie

如何正确序列化我的日期对象..谢谢,

最佳答案

理想的方法是使用以下 Jackson 配置进行配置 -

objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);

这将确保所有日期都以一致的格式序列化。

以下是完整的配置供您引用 -

public class JacksonMapper extends ObjectMapper
{
private static final Logger logger = LogManager.getLogger(JacksonMapper.class);

public JacksonMapper()
{
this.setSerializationInclusion(JsonInclude.Include.NON_NULL);

this.disable(SerializationFeature.INDENT_OUTPUT);
this.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);

this.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);

this.registerModules(new Jdk8Module()); // Enables support for JDK 8 data types e.g. Optional
this.registerModule(new JavaTimeModule()); // Enables serialization of Java 8 timestamps
}
}

使用以下 XML 配置来创建对象映射器的 bean -

<bean id="objectMapper" class="config.JacksonMapper" />

关于java - Spring MVC 中的日期序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48147353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com