Feign 遠程調用


什么是Feign?

Feign是一個http請求調用的輕量級框架 可以使用Java接口注解的方式調用Http請求

 

為什么要用Feign?

Feign采用了聲明式API 接口的風格 客戶端調用過程變得簡單

 

案例

新建工程(繼承父工程)

 

 

導入依賴

 

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-feign</artifactId>
    </dependency>
  </dependencies>

 

添加配置文件

server:
  port: 8008
eureka:
  instance:
    hostname: feign-client
  client:
    service-url:
      defaultZone:
        http://eureka01:8001/eureka/
    register-with-eureka: true

spring:
  application:
    name: fegin-client
    
ribbon:
  eureka:
    enabled: true
    

 

創建一個接口

 

// FeginClient 客戶端 value 為遠程調用的實例名
@FeignClient(value = "eureka-client") public interface EurekaClientFeign { @GetMapping(value = "/hi/{name}") String sayHi(@PathVariable(value = "name") String name); }

 

添加代碼

 

@RestController
public class HiController {
    @Autowired
    EurekaClientFeign eurekaClientFeign;
    @GetMapping("/test")
    public String sayHi(){
        return eurekaClientFeign.sayHi("sss");
    }
}

 

依次啟動 

 

 

打開瀏覽器訪問

 

 

刷新

 

 

Feign 遠程調用了eureka_client服務 並且有負載均衡的能力。

 

 

                            


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM