使用Spring OpenFeign 传输文件

B模块上传文件调用了A模块的文件保存实现

1.1 业务场景

首先在A模块中写好了上传文件并保存文件的接口与实现,
其次 B模块在开发中,需要调用A模块的接口
A模块接口 使用form-data传输file文件
B模块在使用OpenFeign调用A接口时, 出现异常:

	feign.FeignException: status 400 reading xxx

2.1 排查过程

A 模块接口正常
B 模块使用form-data接受正常
B 模块调用A模块接口,传参时异常, 因为调用OpenFeign时没有使用form-data

3.1 解决办法

方法: B 模块 在使用OpenFeign 调用A模块接口时, 需要 如下改动

  1. 在@PostMapping() 指定consumes (详细含义,看4.1章节)
  2. file 使用@RequestPart 注解
@ApiOperation(value = "添加拓扑图CAD设计图纸")
@PostMapping(path = "/design/file/target/{id}", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
DesignFile addDesignFile(@PathVariable("id") Integer targetId,
                         @RequestParam(value = "targetType") String targetType,
                         @RequestPart("file"
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值