今天第一次遇到需要微服务之间传输MutipartFile的业务场景,网上找了一圈发现最终报错:ClassNotDfException: feign.Request$Body解决不了。
具体这样的,网上都差不多:
@Configuration
public class MultipartSupportConfig {
@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;
@Bean
public Encoder feignFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
}
@FeignClient(name = "xxx", configuration = MultipartSupportConfig.class)
@Component
public interface CoreEurekaClient {
@PostMapping(value = "/core/file/upload/{serverId}", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public void uploadFile(@RequestPart MultipartFile file,
@PathVariable Integer serverId);
}
@PostMapping("/upload/{serverId}")
@ApiOperation("文件上传接口")
public void uploadFile(@RequestParam MultipartFile file,
@PathVariable Integer serverId){
fileService.uploadFile(file, serverId);
}

在实现SpringBoot微服务间使用MutipartFile传输时遇到ClassNotDfException,错误源于feign.Request$Body。解决方案是仅引入特定jar包,避免与其他包冲突。遇到相同问题的开发者可以尝试文中建议。
最低0.47元/天 解锁文章
557

被折叠的 条评论
为什么被折叠?



