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();
}
//服務A,起在9010
調用接口,controller層注入接口,spring已經已經為該接口創建了Bean,調用的就是本地test接口
@RestController
public class OrderServiceController {
@Autowired
OrderServiceFeign orderServiceFeign;
@GetMapping("/test")
public String test(){
return orderServiceFeign.getOrders();
}
}
//服務A,起在9010
啟動配置注解,@EnableFeignClients
@SpringBootApplication
@EnableFeignClients
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
//服務A,起在9010
5.結果
啟動A,B服務
A本地服務如下
B遠程服務如下