spring-cloud feign (web服务客户端)(四)

spring-cloud feign (web服务客户端)(四)

原理:

  将微服务之间的调用请求伪装成本地请求。提供feign客户端,封装HTTP请求,从而不需要关注其他微服务的URL地址以及请求的方法参数等等。一切由feign去处理。
  feign 支持springMVC注解方式,所以可以使用@GetMapping 等方式来简便的提供url 地址
  feign 底层实现是动态代理,通过反射找到对应的类,编码方式类似mybatis 的接口实现方式。
实现步骤:
1、增加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2、增加注解
在springboot 启动器中增加 @EnableFeignClients //启用feign
 
3、增加接口提供给fegin 并提供被调用方法的 相关参数(返回值,传参,服务地址,方法名)
/**
* 提供相关参数 返回值,传参,服务地址,方法名
*/
@FeignClient("USER-SERVICE") //微服务地址 大小写必须一样
public interface UserClient {
@GetMapping("user/{id}") //调用路径
String queryById(@PathVariable String id);
}
4、调用该接口
@Autowired
UserClient userClient;
@GetMapping("{id}")
public String findOne(@PathVariable String id) {
return userClient.queryById(id);
}
https://files.cnblogs.com/files/lanSeGeDiao/springCloud-demo.zip 
以上是springCloud的DEMO例子 请自行复制路径到浏览器