springboot对ZonedDateTime返回结果json是string-源码分析


java.time.ZonedDateTime

application/json格式默认使用ObjectMapper实例进行序列化

controller返回后,打断点,可以看到,对应application/json,可以看到会选择ObjectMapper进行转化
converter: org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
请添加图片描述
在这里插入图片描述
请添加图片描述
org.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration#mappingJackson2HttpMessageConverter

ObjectMapper自动注入分析

具体看自动配置类:spring-boot-autoconfiguration.jar的org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration
请添加图片描述
请添加图片描述请添加图片描述

请添加图片描述
相当于:
MAPPER.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
MAPPER.configure(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS, false);
所以springboot返回的时间默认不是long类型;

springboot关于jackson配置

1.配置文件:spring.jackson.time-zone=Asia/Shanghai
2.会注入到spring-boot-autoconfiguration.jar的JacksonProperties

以时区配置为例
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值