Feigen
概述:
直接使用RestTemplate存在问题:
在请求接口时, 路径仍存在问题,只解决了服务名称,没有解决服务后,功能路径问题,因为有可能是别人开发的, 你不知道后面功能路径是什么什么是Feign?
1.Feign是一个声明式WebService客户端。2.Feign旨在使编写Java Http客户端变得更容易。
3.Feign在RestTemplate基础上做了进一步封装,由他来帮助我们定义和实现依赖服务接口的定义
4.Feign可以把请求进行隐藏,你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做。
5.调用时,使用的负载均衡,是当前客户端配置的负载均衡规则
使用步骤
1.在客户端引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.在启动类上面加上注解:@EnableFeignClients
3.创建服务FeignClient:
<1>创建一个service文件夹,在该文件下创建一个接口
<2>在接口加上添加@FeignClient(name=“xxxxx”)注解 参数就是你的微服务名字
如下:
@FeignClient(name= "SERVER-GOODS")
public interface GoodsFeignClient {
@RequestMapping("/getGoods.do")
public Object getGoods();
}
4.在控制器当中进行调用