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