1.功能介绍
用于微服务之间的接口调用,A用户服务,B订单服务,A调用B的订单信息,可以通过http形式重定向调用,也可以通过feign实现调用。简而言之,就是feign由spring提供了的优化接口调用的功能。
2.版本依赖
springboot版本依赖是spring组件的大坑,springboot目前2.4.X与2.5.X支持
openfeign
3.如何调用
B服务按照原先的方式提供接口
A服务需要做3步
- 新建接口
- 调用接口
- 启动项配置注解
4.具体实现
新建接口,使用注解FeignClient,如果服务已经继承到注册中心,那不需要写url,否则自己测试最好写url
@FeignClient(name="com.feign.FeignApplication",url="localhost:9210")
public interface OrderServiceFeign {
@RequestMapping("/orders")
String getOrders();
}
调用接口,controller层注入接口,spring已经已经为该接口创建了Bean,调用的就是本地test接口
@RestController
public class OrderServiceController {
@Autowired
OrderServiceFeign orderServiceFeign;
@GetMapping("/test")
public String test(){
return orderServiceFeign.getOrders();
}
}
启动配置注解,@EnableFeignClients
@SpringBootApplication
@EnableFeignClients
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
5.结果
启动A,B服务
A本地服务如下
B远程服务如下