Feign是一个声明式的Web Service客户端,它使得编写Web Service客户端变得更加简单。我们只需要使用Feign来创建一个接口并用注解来配置它即可完成。它具备可插拔的注解支持,包括Feign注解和JAX-RX注解。Feign也支持可插拔的编码器和解码器。Spring Cloud为Feign增加了对Spring MVC注解的支持,还整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。
下面,通过一个例子来展现Feign如何方便地声明对服务的定义和调用。
- 配置
pom.xml
1 | <dependencies> |
- 在应用主类中通过
@EnableFeignClients
注解开启Feign功能
1 |
|
- 定义服务的接口
1 | "eureka-client") ( |
- 使用
@FeignClient("eureka-client")
注解来绑定该接口对应的服务 - 通过Spring MVC的注解来配置
eureka-client
服务下的具体实现
- 在controller层调用上面定义的
ComputeClient
1 |
|
- 配置
application.yml
1 | spring: |
访问http://localhost:8765/add?a=1&b=5,可以得到结果6
。