在分布式項目中一個項目會拆分成許多應用,每個應用啟動時像注冊中心 注冊一個名字例如 a,方便他人用這個名字a 調用a應用的接口
feign客戶端的作用就是通過其他應用注冊的名字 去調用其他應用的接口
例如
1 啟動訂單系統-----注冊名字為member
訂單系統中有個接口
@RequestMapping("/getMember") public String getMember() { return "this is client1"; }
2 啟動會員系統----會員系統的/getOrder 方法調用訂單系統的/getMember 接口
2.1
添加依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
2.2
編寫feign客戶端(就是寫一個接口文件)
@FeignClient(name = "member") //指定被調用應用的名字(啟動應用時像注冊中心注冊的名字) public interface MemberApifeign { @RequestMapping("/getMember") // 把member項目中被調用的接口摘抄過來
public String getMember();
}
2.3 編寫controller層
@Autowired private MemberApifeign memberApifeign;//把2.2編寫的接口注入進來 @RequestMapping("/getorder") public String getOrder() { String result =memberApifeign.getMember() ;//調用2.2 中編寫的接口 return result; }
2.4 啟動項目
在啟動類上增加注解
@EnableFeignClients