Spring Cloud中Feign怎么使用
Feign是一个声明式的Web Service客户端,它使得编写Web Serivce客户端变得更加简单。我们只需要使用Feign来创建一个接口并用注解来配置它既可完成。它具备可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign也支持可插拔的编码器和解码器。Spring Cloud为Feign增加了对Spring MVC注解的支持,还整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。
使用Feign只需要创建一个接口并使用注解的方式来配置它即可完成。首先,需要创建一个接口并使用@FeignClient注解来指定服务名来绑定服务:
@FeignClient("compute-service") public interface ComputeClient { @RequestMapping(method = RequestMethod.GET, value = "/add") Integer add(@RequestParam(value = "a") Integer a, @RequestParam(value = "b") Integer b); }
其次,需要在应用主类中加上@EnableFeignClients注解开启Feign的功能:
@SpringBootApplication @EnableDiscoveryClient @EnableFeignClients public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
最后,就可以在其他地方注入该接口来使用Feign客户端来调用服务了:
@Autowired ComputeClient computeClient; public void add() { Integer result = computeClient.add(1, 2); System.out.println(result); }
Feign还支持可插拔的编码器和解码器,Spring Cloud对Feign进行了封装,使其支持了Spring MVC的注解和HttpMessageConverters。Spring Cloud还为Feign整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。
Feign的使用非常简单,只需要创建一个接口并使用注解的方式来配置它即可完成,Spring Cloud为其增加了支持Spring MVC注解的功能,整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现,使得Feign在微服务架构中变得更加便捷。
相关文章