Jackson 配置支持解析JDK8 时间类型_jacksoncustomizerconfig 解析时间戳_小呀小阿斗的博客-程序员秘密

技术标签: spring boot  java  

配置类的代码转自这里

配置类

@Configuration
@ConditionalOnClass(ObjectMapper.class)
@AutoConfigureBefore(JacksonAutoConfiguration.class)
public class JacksonConfig {
    
	@Bean
	public Jackson2ObjectMapperBuilderCustomizer customizer() {
    
		return builder -> {
    
			builder.locale(Locale.CHINA);
			builder.timeZone(TimeZone.getTimeZone(ZoneId.systemDefault()));
			builder.simpleDateFormat(DatePattern.NORM_DATETIME_PATTERN);
			builder.modules(new Java8TimeModule());
		};
	}
}

配置类里要调用的TimeModule类

public class Java8TimeModule extends SimpleModule {
    

	public Java8TimeModule() {
    
		this.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
		this.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
		this.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN)));
		this.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
		this.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
		this.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN)));
	}
}

下面是我实际使用的测试

测试用到的Dto

@Data
class TimeDto implements Serializable {
    
    private static final long serialVersionUID = 1L;
    //@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date date;
    private Integer age;
}

测试用到的Controller

@PostMapping(value="/timePost")
    @ResponseBody
    public TimeDto  time(@RequestBody TimeDto timeDto){
    
        return newDto;
    }

Postman请求体
在这里插入图片描述
Postman响应结果
在这里插入图片描述

可以看到,配置后成功实现时间格式转换,不需要在字段上添加@JsonFormat注解,无论是LocalDateTime类型还是Date类型,都不再需要注解。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq724737991/article/details/105857621

智能推荐

VR城市街景让用户全面地了解城市状况_vr街景什么技术_waiwulianwang的博客-程序员秘密

随着互联网和移动互联网的出现,720全景技术与实体的融合将成为未来的重要发展方向。绝大多数企业将通过互联网和移动新媒体获取信息,分享和了解互联网和社交媒体上的活动。720全景技术不仅可以提高企业的参观率,还可以通过720全景提供远程现场参观,让用户更真实、更全面地了解城市街景全景,体验居住的沉浸感。它也是质量体验的强大工具。”“互联网+虚拟现实”为实体的快速发展做出了巨大贡献。目录一、VR城市...

SQL 分组排序的窗口函数 rank, dense_rank, row_number_颹蕭蕭的博客-程序员秘密

建表create table score ( name varchar(20), subject varchar(20), score int );-- 2.插入测试数据 insert into score(name,subject,score) values('张三','语文',98);insert into score(name,subject,score) values('张三','数学',80);insert into score(name,subject,score) v

java 中操作时间的三个类:Date、Calendar和DateFormat_火柴_天堂的博客-程序员秘密

CalendarJava Calendar 类时间操作,这也许是创建和管理日历最简单的一个方案.public void getCurDate() { //通过Calendar中的getInstance()方法获取当前时间的Calendar对象. Calendar cld = Calendar.getInstance(); int day = cld.g

【超详细】使用MeterSphere实现带有登录场景的接口测试,附各种断言方法_metersphere接口测试_Limonsama的博客-程序员秘密

MeterSphere做一个有登录场景的接口测试产品介绍MeterSphere 是一站式开源持续测试平台,涵盖测试跟踪、接口测试、性能测试、团队协作等功能,兼容JMeter 等开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量软件的交付。快速安装硬件要求操作系统任何支持 Docker 的 Linux x64,推荐Centos 7.5+CPU与内存4核8G磁盘空间20G网络要求可访问互联网一键安装命令如下:[[email protected]

动态规划之最长递增子序列 最长不重复子串 最长公共子序列_虐汪狂人巴甫洛夫的博客-程序员秘密

【前言】动态规划:与分治法相似,即通过组合子问题来求解原问题,不同的是分治法是将问题划分为互不相交的子问题,递归求解子问题,再将他们组合起来求出原问题的解。动态规划则应用于子问题重叠的情况,通常用来求解最优化问题。这类问题可以有很多可行解,每个解都有一个值,我们希望寻找最优值的解。通常有4个步骤来设计动态规划算法:1.刻画一个最优解的结构特征。2.递归地定义最优解的值。3.计算

胡乱写写_2020年春节之际 由于一些人的胡乱作为_fadedsun的博客-程序员秘密

求同时整除两个数的数的和 => 等同于求GCD(X,Y)的约数和

随便推点

a disk read error occurred_weixin_34067049的博客-程序员秘密

a disk read error occurred 今天遇到一个问题就是经常出现a disk read error occurred,意思是读取磁盘发生错误。 如果你觉得哪方面最可能就往哪方面想,本人第一反应就是硬盘问题,重新插拔一下sata数据线为sata第一个接口,然后bios中设置默认值,把软驱关闭,f10保存退出,接着就是用mhdd扫描一下硬盘...

rda冗余分析步骤_使用CANOCO进行CCA或RDA教程分析.ppt_weixin_39605905的博客-程序员秘密

如何用CANOCO 4.5 进行CCA/RDA分析 郑有用 由于制作者水平有限,本篇不涉及蒙特卡洛检验。进一步学习应参考《Canoco for Windows 4.5 中文简明教程》 与《Multivariate Analysis of Ecological Data Using Canoco》。 本篇内容参考上述资料。 数据文件预处理 WCanoImp是将excel数据转换为CANOCO可以处...

程序员用HTML5给女朋友制作的3D相册_爱不到要偷的博客-程序员秘密

程序员给女朋友用HTML5制作的3D相册,使用鼠标拖拽,能看到3D旋转效果,点击相片,相片能放大,移近。程序员发挥自己的专长,这是那些不懂编程的人望尘莫及的。本相册使用了HTML5的画布技术,需要谷歌浏览器或火狐浏览器等现代浏览器才能正常观看。效果网址:http://keleyi.com/keleyi/phtml/html5/25/点击这里下载源代码转载自:http://keley...

memcached 可视化客户端推荐_张洪財的博客-程序员秘密

官网:http://www.treesoft.cn/dms.html用了下很好用,不错的东西,记录下。

web前端篇:css练习题_前端大叔熟的博客-程序员秘密

1.div和span标签在网页中的作用?div将网站分割成独立的逻辑区域division分割span:小区域标签,在不影响文本正常显示的情况下,单独设置对应的样式。<style> span.active{ font-weight:bold; }</style><p> <span>内容</span>...

64位centos6安装mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz_weixin_30432007的博客-程序员秘密

1. 从官网下载 mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz官网: http://dev.mysql.com/downloads/mysql/我是下到了windows本地,然后通过winscp工具上传到centos6服务器上,我一般喜欢给文件赋权限,chmod a+x mysql-5.7.13-linux-glibc2.5-x86_6...