Springcloud 客戶端之間的呼叫

2021-09-27 11:34:43 字數 1155 閱讀 6333

首先, 確定 呼叫者, 與被呼叫者, 

呼叫者:

1. 新增依賴

org.springframework.cloud

spring-cloud-starter-openfeign

2. 在呼叫者模組中建立被呼叫者介面

public inte***ce ***xx
3. 在介面上新增註解:

@feignclient("demo-user")

public inte***ce userclient{}

例:spring:

name: demo-user #該名稱會在spring-cloud 呼叫時使用 springcloud識別 橫線 -, 不能是下劃線 _

4. 在新建立的 介面中新增方法:

方法的定義:

與controller中的方法類似, 不過是介面的形式,

public pageresult getuserbyid(@pathvariable("userid") string userid);

c. restful請求的引數名 必須與@pathvariable()裡的引數名一致, 不能省略不寫.

@enableeurekaclient

@enablediscoveryclient // 發現服務 新增這個

@enablefeignclients // 呼叫服務 和這個

6. 使用 編寫的介面, 完成呼叫

在呼叫者controller 或 service實現中 注入建立的介面

@autowired

private userclient userclient; // 當前模組沒有他的實現類的例項, 有的ide開發工具會報錯. 但不用處理, cloud呼叫的本身就是另乙個模組中的例項,這裡本來就沒有該例項物件

7. 使用方法, 和正常的介面注入呼叫相同, 寫完業務功能後, 啟動服務 測試

8. 注意, 被呼叫者, 或者說納入到spring cloud的服務中的客戶端(服務模組) 啟動類上, 都需要新增 註解:

@enableeurekaclient
意思是,註冊到eureka服務

SpringCloud之客戶端連線Eureka集群

客戶端分別yml 服務啟動埠號 server port 8002 服務名稱 服務註冊到eureka名稱 spring 服務註冊到eureka位址 eureka client service url defaultzone http localhost 8100 eureka,因為該應用為註冊中心,不...

Spring cloud配置客戶端

environment是一種在spring容器內已配置 profile 和屬性 properties 為模型的應用環境抽象整合。spring framewwork提供了兩種enviroment的實現,即 配置 profile 在spring容器,profile是一種命名的bean定義邏輯組。乙個sp...

springcloud客戶端呼叫工具

1 springcloud中支援兩種客戶端呼叫工具 rest resttemplates feign 客戶端 多數採用feign客戶端進行呼叫 2 feign客戶端例項 建立乙個feign客戶端介面類 package com.eurekamember.api.controller import or...