什么是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服務 並且有負載均衡的能力。