1. 什麼是Feign?
Feign是一種聲明式、模闆化的HTTP用戶端,在SpringCloud中使用Feign。可以做到使用HTTP請求遠端服務時能與調用本地方法一樣的編碼體驗,開發者完全感覺不到是一個遠端方法,更感覺不到這是一個HTTP請求
Feign的靈感來自于Retrofit,JAXRS-2.0和WebSocket,它使得Java HTTP用戶端編寫更友善,旨在通過最少的資源和代碼來實作和HTTP API的連接配接。
2. 引入依賴
在需要調用HTTP api的工程加入下面依賴
3. 代碼實作
1. 在啟動類上添加@EnableFeignClients注解開啟Feign。
2. 使用接口實作
3. Controller中直接像調用本地方法一樣調用
本示例是在消費者中調用消費者的服務,将會輪詢的去調用消費者服務接口。
注意:負載均衡的政策與Ribbon中的配置方式一樣,因為Feign依賴Ribbon,使用的是Ribbon的負載均衡。
3. 抽取接口
在實際的開發過程中,為了友善管理,通常是将所有的接口和bean都抽取到一個工程中,在消費者中使用的使用,隻需要依賴維護接口的jar即可。跟直接在消費者中使用方式和原理一樣,隻是将接口和傳輸的實體類單獨維護起來,使得開發更簡單,明了。在引入的工程中需要讓Spring掃描到@FeignClient注解,隻需要@EnableFeignClients(basePackages = "包名")即可。
4. 參數說明

原文 SpringCloud學習筆記(9)----Spring Cloud Netflix之聲明式 REST用戶端 -Feign的使用
侵删 聯系[email protected]