SpringCloud Feign如何在遠(yuǎn)程調(diào)用中傳輸文件
1. 文件遠(yuǎn)程傳輸主要涉及3點(diǎn): 請求方式, 媒體類型, 序列化與反序列化, 把握住了這3點(diǎn),基本上就可以搞
2. 使用Feign傳輸,首先搭建起Feign的架子
2.1 引入spring-cloud-starter-eureka-server依賴,用于啟動一個eureka注冊中心
2.2 引入spring-cloud-starter-eureka依賴,用于開啟向eureka注冊中心注冊自己
2.3 在調(diào)用遠(yuǎn)程服務(wù)的客戶端引入spring-cloud-starter-feign, 用于使用feign
3. 既然是遠(yuǎn)程調(diào)用, 項(xiàng)目中就必須至少有2個服務(wù),一個扮演客戶端,一個扮演服務(wù)端,對于文件上傳來說,可以將文件上傳服務(wù)定為客戶端,將文件的處理服務(wù)定為服務(wù)端.客戶端接收到文件后調(diào)用服務(wù)端處理文件
3.1 創(chuàng)建一個eureka注冊中心
3.2 創(chuàng)建一個客戶端
3.3 創(chuàng)建一個服務(wù)端
4. 基礎(chǔ)架構(gòu)搭建好了以后,可以在2個服務(wù)中都搭建基礎(chǔ)的上傳服務(wù)接口了,測試上傳文件沒問題后,可以進(jìn)行Feign的調(diào)用搭建
4.1 使用POST請求
4.2 指定接口接收的數(shù)據(jù)類型為multipart/form-data
4.3 使用MultipartFile類型接收文件
5. Feign的調(diào)用搭建
5.1 誰使用Feign就在誰的配置中開啟支持注解@EnableFeignClients
5.2 創(chuàng)建Feign的基樁,在接口類上綁定要調(diào)用服務(wù)的服務(wù)ID,在接口方法上綁定要調(diào)用方法的請求路徑,同時指定媒體類型
6. 此時重啟2個服務(wù),調(diào)用試試,發(fā)現(xiàn)報錯,原因是編碼問題,此時就是序列化和反序列化的問題,需要:
6.1 引入2個包,用于編碼的支持
<dependency> <groupId>io.github.openfeign.form</groupId> <artifactId>feign-form</artifactId> <version>3.0.3</version> </dependency> <dependency> <groupId>io.github.openfeign.form</groupId> <artifactId>feign-form-spring</artifactId> <version>3.0.3</version> </dependency>
6.2 給容器增加一個Bean,用于具體的編碼支持
@Bean
public Encoder encoder(){
return new SpringFormEncoder();
}
7. 總結(jié)
傳文件主要盯住3樣?xùn)|西: POST請求方式, multipart/form-data媒體類型,遠(yuǎn)程調(diào)用的序列方案
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JUnit中獲取測試類及方法的名稱實(shí)現(xiàn)方法
這篇文章主要介紹了JUnit中獲取測試類及方法的名稱實(shí)現(xiàn)方法,本文使用了JUnit中提供的TestName實(shí)現(xiàn),不過還有一些編程細(xì)節(jié)需要注意,需要的朋友可以參考下2015-06-06
SpringBoot+mybatis+thymeleaf實(shí)現(xiàn)登錄功能示例
這篇文章主要介紹了SpringBoot+mybatis+thymeleaf實(shí)現(xiàn)登錄功能示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
關(guān)于dubbo的RPC和RESTful性能及對比
這篇文章主要介紹了關(guān)于dubbo的RPC和RESTful性能及對比,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
Spring Cloud Alibaba Nacos Config加載配置詳解流
這篇文章主要介紹了Spring Cloud Alibaba Nacos Config配置中心實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-07-07

