0


FeignClient 设置动态url

1、引入 org.springframework.cloud:spring-cloud-loadbalancer 依赖包

2、feign server端nacos添加 loadbalancer.ribbon.enabled 配置

  1. spring:
  2. cloud:
  3. loadbalancer:
  4. ribbon:
  5. enabled: false
  6. nacos:
  7. config:
  8. server-addr: ${CONFIG_NACOS_HOSTS:192.168.96.5:8848}
  9. file-extension: yaml
  10. group: ${CONFIG_NACOS_GROUP:DEFAULT_GROUP}
  11. discovery:
  12. server-addr: ${DISCOVERY_NACOS_HOSTS:192.168.96.5:8848}
  13. # ip: ${LOCAL_IP_ADDRESS:192.168.96.1}

3、FeignClient属性name与URL一定要指定
@FeignClient(url = “http://localhost:8080/xxxxxxx”, name = “xxx”)
name 属性,是@FeignClient 注解必要的,不定义会报错。
url 属性,一定要指定,值无所谓,因为最终都会被方法的URI参数对应值替换掉,添加这个属性的作用就是将接口的代理对象变成feign.Client.Default(LoadBalancerFeignClient),这样就绕过了从nacos取节点地址这一步(细节参见 FeignClientFactoryBean.getTarget())

4、FeignClient注解类接口添加URI参数

  1. import java.net.URI;
  2. @FeignClient(name = "xxx", url = "EMPTY", configuration = FeignClientConfig.class)
  3. public interface SocketApiClient {
  4. @PostMapping("/test")
  5. R<?> test(URI uri, @RequestBody Data data);
  6. }

如上


本文转载自: https://blog.csdn.net/sxg0205/article/details/127967250
版权归原作者 scanklm 所有, 如有侵权,请联系我们删除。

“FeignClient 设置动态url”的评论:

还没有评论