springboot jackson自动配置默认不是将Date类型转换为时间戳

在SpringBoot应用中,默认Jackson配置不会将Date类型转换为时间戳。要启用此转换,可以在application.yml文件中添加特定配置,或启用@EnableWebMvc注解。这两种方法会改变WebMvcAutoConfiguration的自动配置,从而影响日期的序列化方式。
摘要由CSDN通过智能技术生成

JacksonAutoConfiguration自动配置的代码设置了不开启将Date类型转换为时间戳,而是使用DateFormat进行了转换

如果想要开启Date类型转换为时间戳,可以在application.yml  文件中增加如下配置,开启date类型转时间戳

spring:
  jackson:
    serialization: {WRITE_DATES_AS_TIMESTAMPS: true}

 

或者开启@EnableWebMvc,就不会触发springboot的WebMvcAutoConfiguration自动配置

WebMvcAutoConfiguration自动配置会引用JacksonHttpMessageConvertersConfiguration

的内容,会导致messageConvertes中的

MappingJackson2HttpMessageConverter有两个,如下:

一个由JacksonHttpMessageConvertersConfiguration自动配置,默认不将Date转换为时间戳

一个由WebMvcConfigurationSupport的getMessageConverters方法添加,默认将Date转换为时间戳

 

RequestResponseBodyMethodProcessor使用的是JacksonHttpMessageConvertersConfiguration自动配置,所以出现该问题,

解决方案上面已经提到。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值