记一次 SpringBoot2.x 配置 Fastjson 的坑--修正版

摘要:
˃next=迭代器。next();如果{iterator.remove();}}//1.定义一个用于转换消息的对象FastJsonHttpMessageConverterfastConverter=newFastJsonHttpMessageConverter()//2.添加fastjson FastJsonConfigfastJsonConfig=newFastJ sonConfig()的配置信息;fastJsonConfig。setSerializerFeatures;//3.添加配置信息fastConverter。convert//4中的setFastJsonConfig。添加convert-to-converters转换器。add;}//获取系统列表中的所有转换器˂HttpMessageConverter˂?

原文:https://my.oschina.net/btboys/blog/3055803

实验环境:springboot2.1.6

读者先阅读原文,然后再看本文修正,切记。

作者解释的很到位,关键点也找到了,但没能真正解决问题,如按作者原文做法,系统集成微信公众号,在token验证时一定报错,现给出修正版答案,解决token验证失败情况。

注意:如果系统自定义SpringMVC的拦截器,不能使用启动类继承WebMvcConfigurationSupport这种方法,而是在拦截器中实现类似的方法才行,不然拦截器失效。

@Override
protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
/*
* 追加默认转换器,将jackson转换器删除,并在最后添加fastjson转换器
* 转换器使用顺序是集合顺序,所以fastjson加载到最后,而之前jackson也是在最后,将fastjson放置在最后是正确的
*/
super.addDefaultHttpMessageConverters(converters); // 启动类继承方式保留这行,如果是拦截器方式,需删除这行
for (Iterator<HttpMessageConverter<?>> iterator = converters.iterator(); iterator.hasNext(); ) {
HttpMessageConverter<?> next = iterator.next();
if (next instanceof MappingJackson2HttpMessageConverter) {
iterator.remove();
}
}
//1、定义一个convert转换消息的对象
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
//2、添加fastjson的配置信息
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//3、在convert中添加配置信息
fastConverter.setFastJsonConfig(fastJsonConfig);
//4、将convert添加到converters中
converters.add(fastConverter);
}
// 获取系统所有的转换器
List<HttpMessageConverter<?>> messageConverters = super.getMessageConverters();
————————————————
版权声明:本文为CSDN博主「NobodyYeah」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/NobodyYeah/article/details/99814525

免责声明:文章转载自《记一次 SpringBoot2.x 配置 Fastjson 的坑--修正版》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据可视化之PowerQuery篇(十)如何将Excel的PowerQuery查询导入到Power BI中?Qt跨线程调用错误解析及解决办法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

fastjson如何指定字段不序列化

fastjson是一款由阿里巴巴提供的性能出色的json序列化与反序列化库,而且使用很方便,我们可以使用JSON.toJSONString(object)将一个对象序列化为json格式,但是如果我们不想把一个类的所有成员都序列化怎么办呢。 解决这个问题有两种方式: 方式一、给不想被序列化的属性增加transient属性---java特性 方式二、给不想被...

fastjson生成JSON字符串的时候出现$ref

import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; /** * fastjson中$ref对象重复引用问题 *...

OpenCV —— 图像局部与部分分割(一)

背景减除 一旦背景模型建立,将背景模型和当前的图像进行比较,然后减去这些已知的背景信息,则剩下的目标物大致就是所求的前景目标了 缺点 —— 该方法基于一个不长成立的假设:所有像素点是独立的 场景建模 新的前景(物体移动的新位置) —— 旧的前景 (物体离开后留下的“空洞”)—— 背景 cvInitLineIterator() 和 CV_NEXT_LI...

ES6规范

一、简介 js由三部分组成:ES+DOM(文档对象模型)+ BOM(浏览器对象模型) ES作为核心,是一套标准,规范了语言的组成部分:语法、类型、语句、关键字、保留字。定义了数据结构和语法,定义了函数和对象的实现,包括原型链和作用域链的机制和实现。 JavaScript 的核心 ECMAScript 描述了该语言的语法和基本对象; DOM 描述了处理网页内...

java nio--采用Selector实现Socket通信

server: 1 /** 2 * 选择器服务端 3 * Created by ascend on 2017/6/9 9:30. 4 */ 5 public class SelectorServer { 6 // public final static String REMOTE_IP = "192.168.0....

fastJson与jackson性能对比

转载:https://blog.csdn.net/u013433821/article/details/82905222最近项目用到fastJson和jackson,为了决定到底弃用哪个,随手写了个测试看看到底谁的性能更胜一筹。 看到过很多对比的帖子,大多数结果是fastJson性能高于jackson,可偏偏像SpringMVC这样成熟的框架默认也采用的j...