在分布式项目中一个项目会拆分成许多应用,每个应用启动时像注册中心 注册一个名字例如 a,方便他人用这个名字a 调用a应用的接口
feign客户端的作用就是通过其他应用注册的名字 去调用其他应用的接口
例如
1 启动订单系统-----注册名字为member
订单系统中有个接口
@RequestMapping("/getMember") public String getMember() { return "this is client1"; }
2 启动会员系统----会员系统的/getOrder 方法调用订单系统的/getMember 接口
2.1
添加依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
2.2
编写feign客户端(就是写一个接口文件)
@FeignClient(name = "member") //指定被调用应用的名字(启动应用时像注册中心注册的名字) public interface MemberApifeign { @RequestMapping("/getMember") // 把member项目中被调用的接口摘抄过来
public String getMember();
}
2.3 编写controller层
@Autowired private MemberApifeign memberApifeign;//把2.2编写的接口注入进来 @RequestMapping("/getorder") public String getOrder() { String result =memberApifeign.getMember() ;//调用2.2 中编写的接口 return result; }
2.4 启动项目
在启动类上增加注解
@EnableFeignClients
原文:https://www.cnblogs.com/hhxylm/p/11267064.html