【发布时间】:2021-02-18 14:45:30
【问题描述】:
我的数据对象返回数据为1604571544010,我需要一些更易读的东西。
我尝试了很多东西,似乎没有任何效果,我怀疑Jackson或spring版本有问题。
我尝试在application.properties
中设置数据格式我还尝试了baeldung的所有全局配置
Pom.xml
<jackson.version>2.11.3</jackson.version>
<jackson.databind.version>2.11.3</jackson.databind.version>
<jackson.mapper.version>1.9.13</jackson.mapper.version>
<spring.boot.version>2.1.17.RELEASE</spring.boot.version>
<spring.version>5.1.18.RELEASE</spring.version>
网络配置
@Bean
public Jackson2ObjectMapperBuilder jacksonBuilder()
{
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
return new Jackson2ObjectMapperBuilder().indentOutput(true).dateFormat(sdf);
}
DTO
@JsonProperty
public Date getStartDateTime()
{
return startDateTime;
}
【问题讨论】:
-
在某种程度上,以 EpochMilli 的形式返回在被 Javascript 使用时实际上很有用。因为您可以通过
new Date(EpochMilli)直接创建 JS 日期对象。通常我建议使用它来防止时区混淆。 -
启动spring boot 2,日期根据ISO 8601格式化。你通常不需要指定所有版本的依赖,只需要spring-boot-starter-parent
-
@Chayne P.S. 我知道你的意思,但我的数据模型很大,而且我最不想做的事情是逐个更新属性
-
@ggr 我们不会加载所有 spring-boot-starter-parent,只加载我们需要的
标签: spring-boot jackson deserialization