1.生產者
注冊到與消費者模塊同一注冊中心上,如nacos,且確保被調用的api接口能正常訪問,如果存在 security,需要開放被調用的API,即能直接訪問。
2、消費者
改pom:
<!--openfeign--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
主啟動類:在類上加入激活注解
@EnableFeignClients //激活OpenFeign
業務類:
service接口:注意!! 如果消費者有統一前綴需要加上!!比如下面的 /store是一個統一前綴
@Component @FeignClient(name="store-service", fallback= StoreStarServiceImpl.class) public interface StoreStarService { @GetMapping("/store/test") public String test(); }
serviceImpl:當調用失敗時執行對應的方法
@Component public class StoreStarServiceImpl implements StoreStarService { @Override public String test() { return "test的Callback方法!!!!!!!"; } }
controller:
//注入 @Resource private StoreStarService storeStarService; //在api中調用 String test = storeStarService.test();
3、相關配置
ribon沒有父級,即沒有空格
ribbon: ReadTimeout: 5000 #建立連接超時時間 ConnectTimeout: 5000 #建立連接到服務器讀取到杉資源所用的時間