1、Feign概述
Feign是一个声明式的Web服务客户端,它使编写Web服务客户端变得更容易。使用Feign,只需创建一个接口并注释它以指定如何调用服务即可。Feign会自动处理请求,简化了与HTTP服务交互的过程。
官方地址:https://github.com/OpenFeign/feign
Feign使用Spring Cloud来简化对服务的调用,支持负载均衡、重试机制和断路器。它还提供了可定制的编码器和解码器,使得与不同数据格式交互变得更加灵活。
2、Feign替代RestTemplate
以前利用RestTemplate发起远程调用的代码:
String url="http://teach-service/user/"+ teach.getUserId();
Teach teach = restTemplate.getFor0biect(url, Teach.class);
存在下面的问题:
•代码可读性差,编程体验不统一
•参数复杂URL难以维护
1)引入依赖
我们在teach-service服务的pom文件中引入feign的依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>