我在使用 feign 上传图片时遇到问题。我有多个使用 Spring Cloud 的服务。下面是我的依赖项的版本
spring boot - 1.4.3.RELEASE
spring-cloud-starter-feign - 1.1.3.RELEASE
io.github.openfeign.form - 2.2.1
io.github.openfeign.form - 2.2.1
在我的表单中,我有一个 Multipartfile ex 下面的字段
public class MyFrom {
private String field1;
private String field2;
private MultipartFile image;
//getters and setters
}
并将它传递给我的假客户
@RequestMapping(value = { "/api/some-task},
method = RequestMethod.POST,
consumes = {"multipart/form-data"})
ResponseEntity<MyForm> addPromoTask(@RequestBody MyForm request);
我已经在我的代码中添加了一个 SpringFormEncoder,但是我检查了编码器的代码,但是当 Multipartfile 包含在 RequestBody 中时,它似乎不支持。
@FeignClient(value = "some-feign",
fallback = SomeTaskClient.SomeTaskClienttFallback.class,
configuration = SomeTaskClient.CoreFeignConfiguration.class)
public interface SomeTaskClient extends SomeTaskApi {
@Configuration
class CoreFeignConfiguration {
@Bean
@Primary
@Scope(SCOPE_PROTOTYPE)
Encoder feignFormEncoder() {
return new SpringFormEncoder();
}
}
}
我已经看到您可以在下面的链接中传递多个@RequestPart,但我似乎无法使其工作。我收到一个错误,它说我正在传递多个正文参数。