如何解决SpringBoot版本升级引起数据显示出错及排查,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
成都创新互联公司是一家专业提供红花岗企业网站建设,专注与成都网站设计、做网站、成都外贸网站建设公司、H5开发、小程序制作等业务。10年已为红花岗众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
Spring boot1.5.3
fastjson
<!--阿里 FastJson依赖--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency>
import com.alibaba.fastjson.annotation.JSONField; import org.springframework.format.annotation.DateTimeFormat; @JSONField(format = "yyyy-MM-dd HH:mm") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private Date pubTime;
"pubTime": "2019-02-19 13:45",
"pubTime": "2019-02-26T09:22:24.000+0000",
经过来回更换版本等几个小时的尝试后,分析结果:Spring Boot默认采用jackson作为解析,原因可能是采用1.5.3时,WebMvcConfigurer extends WebMvcConfigurerAdapter类中关于fastjson的配置起了作用,解析框架采用了fastjson(@JSONField);而升级为2.0.6之后,由于没有对WebMvcConfigurer配置(原WebMvcConfigurerAdapter上自动加了删除线),Spring boot默认采用了jackjson解析框架,导致@JSONField未起作用,故出现上述解析结果。
就是要自己定义解析框架fastjson,不用Spring boot默认的jackson框架。
在启动类中添加以下配置:
import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.context.annotation.Bean; import org.springframework.http.MediaType; @Bean public HttpMessageConverters fastJsonHttpMessageConverters(){ //创建FastJson信息转换对象 FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter(); //创建Fastjosn对象并设定序列化规则 FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); // 中文乱码解决方案 List<MediaType> mediaTypes = new ArrayList<>(); mediaTypes.add(MediaType.APPLICATION_JSON_UTF8);//设定json格式且编码为UTF-8 fastJsonHttpMessageConverter.setSupportedMediaTypes(mediaTypes); //规则赋予转换对象 fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig); return new HttpMessageConverters(fastJsonHttpMessageConverter); }
问题得到解决,时间格式可以正常返回显示。
看完上述内容,你们掌握如何解决SpringBoot版本升级引起数据显示出错及排查的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
本文名称:如何解决SpringBoot版本升级引起数据显示出错及排查
标题网址:https://www.cdcxhl.com/article30/gocspo.html
成都网站建设公司_创新互联,为您提供企业网站制作、网站改版、定制开发、网站建设、营销型网站建设、网站收录
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联