在微服务架构中总需要各个服务相互调用,各个服务又是以接口方式暴露,所以需要Http远程调用,于是我们就用到了Feign。
Feign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。
添加依赖
<!-- spring cloud feign组件 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
首先我们需要在这个类在启动类上使用注解@EnableFeignClients启用feign客户端
value()和name()一样,是被调用的服务的名称(微服务名),url()直接填写调用的地址(同http的url地址),注意一点,如果存在url的话,会直接调到url上。
在其他service中直接依赖注入feign的接口名便可以使用,或者可以把feign看成一个服务调用就好。
在这个model里面的controller里面写对应的路径,客户端就可以按照这个进行访问资源。不用一接口形式调用了