springBoot使用openfeign來遠程調用的實現

使用openfeign來遠程調用

1、客戶端調用方 導入依賴

org.springframework.cloud spring-cloud-starter-openfeign 

2、啟動類 @EnableFeignClients

3、

4、

springBoot使用openfeign

1、首先需要把兩個不同模塊都加入到nacos註冊中心中

2、引入openfeign 依賴

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

3、由於SpringCloud Feign在Hoxton.M2 RELEASED版本之後不再使用Ribbon而是使用spring-cloud-loadbalancer,所以不引入spring-cloud-loadbalancer會報錯

解決方法

加入spring-cloud-loadbalancer依賴

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>

在nacos中排除ribbon依賴

<exclusions>
   <exclusion>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
   </exclusion>
</exclusions>

不然loadbalancer無效

4、定義一個feign接口,添加@FeignClient(“xxxx”)依賴,xxxx是被調用服務的服務名,聲明之後即可調用此接口

 @RequestMapping("/xxxx/xxxx/xxxx/list")//這裡是被調用服務接口的全路徑
    public R RemoteList();

5、在項目啟動類添加@EnableFeignClients(basePackages = {“com.xxxx.xxxx.xxxx”})註解

basePackages 是feign接口路徑

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: