feign传文件MultipartFile报错 feign.Request$Body
时间: 2023-11-07 08:54:29 浏览: 173
feign传文件MultipartFile报错的问题通常是由于请求参数配置不正确导致的。为了使用Feign传输MultipartFile类型的文件,你需要进行以下配置:
1. 确保你的Feign客户端已经引入了`spring-cloud-starter-openfeign`依赖。
2. 在服务接口的方法上添加`@RequestPart`注解,用于接收MultipartFile类型的文件参数。
3. 在Feign配置类中开启`Decoder`的`MultipartSupportConfig`,这样Feign才能支持MultipartFile类型的参数。
下面是一个示例代码:
```java
// 服务接口
@FeignClient(name = "file-service", configuration = FeignConfig.class)
public interface FileServiceClient {
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
String uploadFile(@RequestPart(value = "file") MultipartFile file);
}
// Feign配置类
@Configuration
public class FeignConfig {
@Bean
public Decoder feignDecoder() {
return new ResponseEntityDecoder(new SpringDecoder(new ObjectFactory<HttpMessageConverters>() {
@Override
public HttpMessageConverters getObject() throws BeansException {
return new HttpMessageConverters(new FormHttpMessageConverter(), new BufferedImageHttpMessageConverter());
}
}));
}
}
```
这样配置后,你就可以在Feign客户端中使用MultipartFile类型的参数来传输文件了。
阅读全文