@FeignClient(value="run-product",fallback = ProductClientServiceFallBack.class)
//@FeignClient(name="runClient",url="localhost:8001")
public interface ProductClientService {}
vaule和name 其實是一個屬性:
鼠標點進去@FeignClient就發現他倆互相使用了別名:
@AliasFor("name")
String value() default "";
@AliasFor("value")
String name() default "";
關於調用目前有兩種:
1、接口提供方在註冊中心。
如果服務提供方已經註冊到註冊中心了,那麼name或者value的值爲:服務提供方的服務名稱。必須爲所有客戶端指定一個name或者value
@FeignClient(value="run-product",fallback = ProductClientServiceFallBack.class)
2、單獨的一個http接口,接口提供方沒有註冊到註冊中心。
@FeignClient(name="runClient11111",url="localhost:8001")
此處name的值爲:調用客戶端的名稱。
以上兩種方式都能正常調用。name可以爲註冊中心的實例名稱,加上url屬性時,name的值就與註冊中心實例名稱無關。至於url屬性和name屬性的關係請指導的大佬們留言呀。