我的数据对象以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>
Web配置
@Bean
public Jackson2ObjectMapperBuilder jacksonBuilder()
{
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
return new Jackson2ObjectMapperBuilder().indentOutput(true).dateFormat(sdf);
}
数据传输对象
@JsonProperty
public Date getStartDateTime()
{
return startDateTime;
}
4条答案
按热度按时间13z8s7eq1#
您可以在www.example.com中添加属性
spring.jackson.date-format
application.properties,以便为java.util.Date
提供特定的日期格式。例如
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
来源:Spring-Boot application.properties
r1wp621o2#
唯一对我有效的全局设置是ObjectMapper
sr4lhrrt3#
使用
@JsonComponent
。任何Date
类型都将使用此自定义序列化程序进行序列化。不使用
@JsonComponent
在
WebConfiguration
中注册自定义序列化程序。或者如果要标记每个字段
htrmnn0y4#
全球解决方案:
`
它与Chayne发布的解决方案相同,但使用DateTimeFormatter而不是SimpleDateFormat,因为DateTimeFormatter是线程安全的。