说实话,自己为了这个小问题查了快三个小时才找到解决方案.
网上很多的解决方案本身都是针对Jackson的,Jackson的解决方案相对比较容易,主要就是在application.yaml文件里面添加以下的代码就能都正常显示格式化的日期数据了
spring:
#配置时间的格式
jackson:
default-property-inclusion: ALWAYS
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
但是fastjson相对来说步骤就比较多一些
首先我们就需要找到我们是那个类继承的 WebMvcConfigurationSupport
, 不能够直接在启动类里面直接添加 因为接下来我们所有的操作都是在这个类上面进行的.
大部分的文章到这里都是直接说添加下面的代码就能使得时间正常的显示:
@Bean//使用@Bean注入fastJsonHttpMessageConvert
public HttpMessageConverter fastJsonHttpMessageConverters(){
//1.需要定义一个Convert转换消息的对象
FastJsonHttpMessageConverter fastConverter=new FastJsonHttpMessageConverter();
//2.添加fastjson的配置信息,比如是否要格式化返回的json数据
//
FastJsonConfig fastJsonConfig=new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
//3.在convert中添加配置信息
fastConverter.setFastJsonConfig(fastJsonConfig);
HttpMessageConverter<?> converter=fastConverter;
return converter;
}
但其实并不是,添加了这段代码只能够证明我们的确是编写了这样一个适用于fastjson的日期类数据格式转换器,但是我们编写了,却没有告诉程序,那么系统怎么能够真的去使用这个转换器呢.测试之后也能够看出来的确没有正常显示日期数据
所以我们还需要下面这一步,我们需要将该转换器注册到系统之中,这样系统就能够正常使用该转换器去转换我们的日期类数据了
//添加转换器
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(fastJsonHttpMessageConverters());
}
测试之后:
时间的确能够正常显示了.