Spring Cloud學習(三)Feign簡單使用
阿新 • • 發佈:2018-12-17
前面瞭解瞭如何通過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”介面。