当前位置: 首页 > news >正文

使用feign进行远程调用出现的问题(文件服务参数接收为null)

场景:使用若依系统个人中心页面上传头像失败

问题:前端上传头像后,后端system服务可以接收到值,但是远程调用file服务时,file服务接收到的参数为null

第一次尝试解决:

听从ai的建议

加了feign-form依赖

        <!-- Feign Multipart Support --><dependency><groupId>io.github.openfeign.form</groupId><artifactId>feign-form-spring</artifactId><version>3.8.0</version></dependency>

创建配置类

/*** Feign multipart form支持配置*/
@Configuration
public class FeignMultipartSupportConfig {@Beanpublic Encoder feignEncoder() {return new SpringFormEncoder(new SpringEncoder(() -> new HttpMessageConverters()));}
}

问题依然存在


第二次尝试解决

检查参数是否一致

api定义方法:

/*** 文件服务* * @author ruoyi*/
@FeignClient(contextId = "remoteFileService", value = ServiceNameConstants.FILE_SERVICE, fallbackFactory = RemoteFileFallbackFactory.class)
public interface RemoteFileService
{/*** 上传文件** @param file 文件信息* @return 结果*/@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)public R<SysFile> upload(@RequestPart(value = "file") MultipartFile file);
}

file服务文件上传方法:

    /*** 文件上传请求*/@PostMapping("/upload")public R<SysFile> upload(@RequestPart(value = "file") MultipartFile file) {...}

注意:需要使用@RequestPart注解。

feign拦截器类FeignRequestInterceptor加入过滤

/*** feign 请求拦截器* * @author ruoyi*/
@Component
public class FeignRequestInterceptor implements RequestInterceptor
{@Overridepublic void apply(RequestTemplate requestTemplate){...//解决图片上传 防止请求头Content-Type的boundary被更改if ("content-type".equals(name)) {continue;}...}}

加入过滤后,问题解决。

http://www.dtcms.com/a/461450.html

相关文章:

  • 国自然·医工交叉热点|通用医学影像分割基础模型与数据库
  • React Native:关于react自定义css属性的位置
  • 对于el-table中自定义表头中添加el-popover会弹出两个的解决方案,分别针对固定列和非固定列来隐藏最后一个浮框。
  • 电子商务公司简介系统清理优化工具
  • 内网渗透实战:红队作战全解析
  • Verilog和FPGA的自学笔记4——多路选择器1(always语句)
  • 前端架构师,是架构什么
  • Coze源码分析-资源库-编辑数据库-后端源码-安全与错误处理
  • 制作专业网站餐厅网络推广方案
  • 掌握MyBatis Java API:高效操作数据库
  • 搭建网站 程序招工网站怎么做
  • 数据库设计_理论部分_设计方法设计过程
  • 【三维重建-算法解析】MVS(Multi-View Stereo,多视图立体)
  • 【GPT5系列】ChatGPT5 提示词工程指南
  • 61850协议GOOSE通信AB网通信
  • wordpress开启子站找公司做网站有什么好处
  • SpringBoot+Redis实现电商秒杀方案
  • 电子商务网站模板 html数据型网站
  • 【QT常用技术讲解】QSerialPort串口开发,包含文件发送功能
  • STM32 外设驱动模块【含代码】:SG90 舵机模块
  • 深圳城乡和住房建设局网站263企业邮箱官网登录
  • K8s概念基础(一)
  • 计算机视觉毕业设计选题该如何选?——根据自身情况合理选择
  • 返利网一类的网站怎么做深圳好看的网站建设哪家公司好
  • 2025-2031年全球 MT 插芯市场全景分析报告:技术演进、供需格局与投资前景
  • 优化的网站做域名跳转做网站现在什么尺寸合适
  • 北京网站建设中企云达电商平台项目运营策划方案
  • 符号主义对人工智能自然语言处理中深层语义分析的影响与启示
  • Excel 常用功能自救手册:遇到问题快速排查指南 (个人备忘版)
  • Excel 数据自动校对:AI 助力精准对比与高效复核