224. 使用feign客戶端呼叫
阿新 • • 發佈:2019-05-07
1.構建maven專案
2.搭建eureka註冊中心專案
重點:
###服務埠號 server: port: 8000 ###eureka 基本資訊配置 eureka: instance: ###註冊到eurekaip地址 hostname: 127.0.0.1 client: serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ ###因為自己是為註冊中心,不需要自己註冊自己 register-with-eureka: false ###因為自己是為註冊中心,不需要檢索服務 fetch-registry: false
修改啟動器:
3. 搭建服務提供者
重點:
###服務啟動埠號 server: port: 8101 ###服務名稱(服務註冊到eureka名稱) spring: application: name: app-provide ###服務註冊到eureka地址 eureka: client: service-url: defaultZone: http://localhost:8000/eureka ###因為該應用為註冊中心,不會註冊自己 register-with-eureka: true ###是否需要從eureka上獲取註冊資訊 fetch-registry: true
編寫api 方法
啟動類上添加註解:
@EnableEurekaClient//新增 客戶端註解 表明是eureka客戶端
啟動 在eureka中檢視 服務
4.編寫 消費者 使用feign客戶端呼叫服務
<dependency> <groupId>org.springframework.cloud</groupId> <!-- <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>--> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <version>2.1.1.RELEASE</version> </dependency> <!--feign客戶端--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
###服務啟動埠號 server: port: 8200 ###服務名稱(服務註冊到eureka名稱) spring: application: name: app-customer ###服務註冊到eureka地址 eureka: client: service-url: defaultZone: http://localhost:8000/eureka ###因為該應用為註冊中心,不會註冊自己 register-with-eureka: true ###是否需要從eureka上獲取註冊資訊 fetch-registry: true
出現的問題:
feign客戶端的實現類:
效果 及訪問:
5.演示 Feign客戶端對Ribbon的支援
使用feign客戶端呼叫 檢視效果