spring boot 2.x 接口返回时间类型不再自动序列化为timestamp
发布日期:2021-06-30 12:36:39 浏览次数:2 分类:技术文章

本文共 644 字,大约阅读时间需要 2 分钟。

1:问题描述

spring boot 1.x版本,被@ResponseBody修饰的返回值中如果存在java.util.Date类型,则会默认被序列化为timestamp的形式。【1585656044119】

而在spring boot 2.x版本中,返回值中的java.util.Date类型不再默认序列化为timestamp。【2020-03-31T12:03:16.586+0000】

2:源码分析

在于spring boot 2.x中的org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration类中多了如下代码:

static {
Map
featureDefaults = new HashMap<>(); featureDefaults.put(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); FEATURE_DEFAULTS = Collections.unmodifiableMap(featureDefaults);}

3:解决办法

如果需要序列化为timestamp形式,需要在application.yml中增加如下配置:

spring:  jackson:    serialization:       WRITE_DATES_AS_TIMESTAMPS: true

转载地址:https://javalib.blog.csdn.net/article/details/105230438 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Ubuntu Linux 创建root用户并且允许远程登录
下一篇:@Value注解不能注入static修饰的属性

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月27日 11时04分17秒