一、介绍
起因是因为在对接公司内部其他部门的一个接口,因为涉及到文件服务器的存储,对方入参要MultipartFile类型的文件入参,因为两个分部的服务器独立,所以也不可采用feign调用,所以有了这次的开发,开发中出现了以下的异常,故有了这篇文章来记录一下,帮助看见了的朋友避一下坑。
二、异常示例
从异常可以看到运行之后确实读取到了文件,文件名打印出来了,但是出现了一个异常
从后面的两个异常信息可以看出是json工具序列化失败了,并且与MultipartFile这个入参类型有关
三、解决过程
因为我经验不足,才疏学浅所以只能上网找找看看可不可以找到解决办法,看到了一些相关的问题,但是解决办法都没有用,后来看到了这个https://github.com/alibaba/fastjson/issues/3505,才解开了我的疑惑,也是涨了一波见识,学习到了怎么解决这类问题
这里放一张截图,希望作者大大不要介意,如果在意的话,可以联系我,立刻删除。
四、解决方法
这里给出一个简单的解决方法,解决办法肯定不止这一种,有很多更高明的解决办法,这里仅仅用来抛砖引玉,如果有更换的解决办法可以私信我,让我学习一下,我后续也会补充到文章中。
我们可以通过创建一个类,将MultipartFile设置为一个属性,再给他添加一个@JSONField(serialize = false)的标签,这样就可以避免MultipartFile进行序列化,避开了这个异常。