Spring Cloud Feign的檔案上傳實現

2021-09-11 09:59:34 字數 1666 閱讀 4102

在spring cloud封裝的feign中並不直接支援傳檔案,但可以通過引入feign的擴充套件包來實現,本來就來具體說說如何實現。

原文:

服務提供方的實現比較簡單,就按spring mvc的正常實現方式即可,比如:

@enablefeignclients

@enablediscoveryclient

public

class

}public

static

void

main

(string args)

}複製**

在服務消費方由於會使用feign客戶端,所以在這裡需要在引入feign對表單提交的依賴,具體如下:

io.github.openfeign.formgroupid>

feign-formartifactid>

3.0.3version>

dependency>

io.github.openfeign.formgroupid>

feign-form-springartifactid>

3.0.3version>

dependency>

commons-fileuploadgroupid>

commons-fileuploadartifactid>

1.3.3version>

dependency>

複製**

定義檔案上傳方的應用主類和feignclient,假設服務提供方的服務名為eureka-feign-upload-server

@enablefeignclients

@enablediscoveryclient

public

class

}@feignclient(value = "upload-server", configuration = uploadservice.multipartsupportconfig.class)

public

inte***ce

uploadservice

} }複製**

在啟動了服務提供方之後,嘗試在服務消費方編寫測試用例來通過上面定義的feign客戶端來傳檔案,比如:

@slf4j

@runwith(springjunit4classrunner.class)

@springboottest

public

class

uploadtester

catch (exception e)

multipartfile multi = new commonsmultipartfile(fileitem);

log.info(uploadservice.handlefileupload(multi));

}}複製**

讀者可以根據喜好選擇下面的兩個倉庫中檢視eureka-feign-upload-servereureka-feign-upload-client兩個專案:

如果您對這些感興趣,歡迎star、follow、收藏、**給予支援!

Spring Cloud Feign上傳檔案

feign 無法直接傳遞檔案引數,需要在client端引入幾個依賴 方式與普通的檔案上傳方法一致 restcontroller class uploadproducer 2.1 需要在客戶端引入以下依賴io.github.openfeign.form feign form 3.0.3 io.gith...

使用Spring Cloud Feign上傳檔案

原文 最近經常有人問spring cloud feign如何上傳檔案。有團隊的新成員,也有其他公司的兄弟。本文簡單做個總結 早期的spring cloud中,feign本身是沒有上傳檔案的能力的 1年之前 要想實現這一點,需要自己去編寫encoder去實現上傳。現在我們幸福了很多。因為feign官方...

Spring Cloud Feign如何上傳檔案

一 feign官方提供了feign 的子專案feign from 1 加依賴 io.github.openfeign.form feign form 3.0.3 io.github.openfeign.form feign form spring 3.0.3 2 介面定義中的註解 requestpa...