Spring Cloud feign 多文件上传
应用场景
第三方调用的我的接口,上传若干个文件,我用MultiPartFile[]
数组接收,之后我调用其他服务的接口,把文件发送过去,统一上传保存
问题:
当你使用feign
传递MultipartFile
对象时,接收方无法解析,所以,需要重写feign
的encoder
,让它支持MultipartFile
类型以及MultipartFile[]
数组类型
引用maven依赖,版本不要过低:
客户端:
@FeignClient 调用:
红框所标,皆为重点;自己不理解百度去。
FeignSupportConfig:
⬆️ 注释那行是调用源码,因源码个人理解有点问题:
循环中的file.getname()作为map的key,当选择多个文件上传时:因file.getname()取值为一样。put 到map时最后一个永远会替换上一个;⬇️
终替换为:
直接把数组作为Map的value,实测 单文件多文件没问题;