zoukankan      html  css  js  c++  java
  • 动态Feign

    https://my.oschina.net/joryqiao/blog/1925633

    1.  FeignClient 中不要写url, 使用 @RequestLine修饰方法

    2. 调用地方必须引入  FeignClientConfiguration, 必须有Decoder, Encoder

    3. 调用类必须以构建函数(Constructor) 的方式注入 FeignClient 类

    4. 传入URL作为参数;

    代码如下:

    FeignClient类:

    @FeignClient(name = "xxxxClient")
    public interface XxxFeignClient {
    
    
        @RequestLine("POST")
        ResponseDto notifySomething(URI baseUri, ApproveNotifyDto notifyDto);
    
        @RequestLine("GET")
        ResponseDto getSomething(URI baseUri, XxxDto xxxDto);
      
    }

    ClientCaller类

    @Slf4j
    @Component
    @Import(FeignClientsConfiguration.class)
    public class CallerService {
    
        private XxxFeignClient xxxFeignClient;
    
        @Autowired
        public CallerService(Decoder decoder, Encoder encoder) {
            xxxFeignClient = Feign.builder()
                    //.client(client)
                    .encoder(encoder)
                    .decoder(decoder)
                    .target(Target.EmptyTarget.create(XxxFeignClient.class));
        }
    
        public ResponseDto notifySomething(String url, XxxxDto dto) throws URISyntaxException {
            return xxxFeignClient.notifySomething(new URI(url), dto);
        }
    
    
        public String test() throws URISyntaxException {
            String url = "http://localhost:9104/";
            return xxxFeignClient.getSomething(new URI(url));
    
        }
    
    
    }

    测试成功. 有点蛋疼.

    参考链接:

    https://stackoverflow.com/questions/43733569/how-can-i-change-the-feign-url-during-the-runtime

  • 相关阅读:
    quick cocos naja
    quick cocos sprite 3 zhongfangshi
    quick cocos moveto
    quick cocos animate2
    quick cocos animate
    quick cocos schedule
    quick cocos scheduler update
    【leetcode】括号的最大嵌套深度
    【leetcode】删除某些元素后的数组均值
    【leetcode】二叉树的最小深度
  • 原文地址:https://www.cnblogs.com/xiang--liu/p/12470395.html
Copyright © 2011-2022 走看看