偽装を使用して画像をアップロードする際に問題が発生しています。スプリング クラウドを使用した複数のサービスがあります。以下の私の依存関係のバージョン
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 を渡すことができることを見てきましたが、うまくいかないようです。複数の本体パラメーターを渡しているというエラーが表示されます。