这里写自定义目录标题
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模块接口时, 需要 如下改动
- 在@PostMapping() 指定consumes (详细含义,看4.1章节)
- 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"