1. 程式人生 > >spring cloud使用Feign實現遠端介面的呼叫

spring cloud使用Feign實現遠端介面的呼叫

在開發中,我們常用httpClient去遠端呼叫其他系統的介面,一般情況下,需要我們指定呼叫的url,feign也實現了一套遠端呼叫的方法,並且更為優雅。
1.新增依賴

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

2.建立FeignClient介面(用於指定遠端呼叫的服務)

// 申明這是一個Feign客戶端,並且指明服務id
@FeignClient(value = "com-spring-caclulate") public interface CacluFeignClient { // 這裡定義了類似於SpringMVC用法的方法,就可以進行RESTful的呼叫了 @RequestMapping(value = "/caclu/{num}", method = RequestMethod.GET) public Item caclulate(@PathVariable("num") Integer num); }

注意:這裡就是一個介面。
3.在需要進行遠端呼叫的方法裡注入該介面,並呼叫對應的api介面方法

@Autowired
private CacluFeignClient cacluFeignClient ;

@GetMapping(value = "query/result")
public Integer caclulate() {
    cacluFeignClient.caclulate(1);
}

4.在啟動類上添加註解 @EnableFeignClients,表示支援Feign

FeignClient介面和spring mvc介面的格式一致,在呼叫方的方法中,我們只需要呼叫本系統中定義的介面即可。