1. 程式人生 > >Spring Cloud學習(三)Feign簡單使用

Spring Cloud學習(三)Feign簡單使用

  前面瞭解瞭如何通過RestTemplate+Ribbon去消費服務,這裡講述如何通過Feign去消費服務。   Feign是一個宣告式的偽Http客戶端,它使得寫Http客戶端變得更簡單。使用Feign,只需要建立一個介面並註解。它具有可插拔的註解特性,可使用Feign 註解和JAX-RS註解。Feign支援可插拔的編碼器和解碼器。Feign預設集成了Ribbon,並和Eureka結合,預設實現了負載均衡的效果。   簡而言之:Feign採用的是基於介面的註解;Feign 整合了ribbon。

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class FeignApplication {
    public static void main(String[] args) {
        SpringApplication.run(FeignApplication.class, args);
    }
}
@FeignClient(value = "COMPUTE-SERVICE")
public interface HelloService {

    @RequestMapping(value = "/add", method = RequestMethod.GET)
    Integer add(@RequestParam("a") Integer a, @RequestParam("b") Integer b);

}
@RestController
public class HelloControler {

    @Autowired
    HelloService helloService;

    @RequestMapping(value = "/hi")
    public Integer hi() {
        return helloService.add(4, 5);
    }
}

@EnableFeignClients註解開啟Feign的功能: @FeignClient(“服務名”),來指定呼叫哪個服務;比如呼叫COMPUTE-SERVICE服務的“/ add”介面。