1. Feignが正式にfeign-fromサブプロジェクトfeign-fromを提供します
1.依存関係を追加する
io.github.openfeign.form feign-form 3.0.3 io.github.openfeign.form feign-form-spring 3.0.3
Java開発ツールのダウンロードアドレスとインストールチュートリアルDaquanは、ここをクリックしてください。
より詳細な技術記事はこちらです。
2. Feignクライアントを書く
@FeignClient(name =“ ms-content-sample”、configuration = UploadFeignClient.MultipartSupportConfig.class)
パブリックインターフェイスUploadFeignClient {
@RequestMapping(value =“ / upload”、method = RequestMethod.POST、
生成する= {MediaType.APPLICATION_JSON_UTF8_VALUE}、
消費= MediaType.MULTIPART_FORM_DATA_VALUE)
@ResponseBody
String handleFileUpload(@RequestPart(value =“ file”)MultipartFile file);
クラスMultipartSupportConfig {
@Bean public Encoder feignFormEncoder(){
新しいSpringFormEncoder();を返します。
}
}
}
コードに示すように、このFeign Clientでは、構成クラスMultipartSupportConfigを参照し、MultipartSupportConfigでインスタンス化しました
SpringFormEncoder。このFeign Clientをアップロードできるように
注:
@RequestMapping(value =“ / upload”、method = RequestMethod.POST、
生成する= {MediaType.APPLICATION_JSON_UTF8_VALUE}、
消費= MediaType.MULTIPART_FORM_DATA_VALUE)
(1)、プロデュース、消費者は少なくてはなりません
(2)インターフェース定義のアノテーション@RequestPart(value = "file")を@RequestParam(value = "file"として書き込むことはできません)
(3)、Hystrixのタイムアウト時間を少し長く、たとえば5秒に設定することをお勧めします。そうしないと、Hystrixがタイムアウトする前にファイルがアップロードされず、クライアント側でエラーが発生する可能性があります
元の記事、出典を示してください。
Java開発ツールのダウンロードアドレスとインストールチュートリアルDaquanは、ここをクリックしてください。
より詳細な技術記事はこちらです。