Spring Cloud Feignでファイルをアップロードする方法

オリジナルを見に行く

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は、ここをクリックしてください

より詳細な技術記事はこちらです。

おすすめ

転載: www.cnblogs.com/darendu/p/12706383.html