@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属性的关系请指导的大佬们留言呀。