Archer

openfeign动态URL

字数统计: 807 阅读时长: 3.0 min
2026/01/05
loading

今日收到一个需求,采集好的数据需要发送到不同的后端,这个采集端是物理上只能采集一次的,但是又有dev环境,测试环境和正式环境都需要采集到的数据,因此需要一个采集器配置多个后端地址,但是OpenFeign默认使用方法不能动态修改URL,因此需要使用OpenFeign提供的动态URL配置。

假设目前是这样的一个后端接口:

@FeignClient(name = "dynamic-url-client", url = "${dynamic-url-client.url}")
public interface DynamicUrlClient {

    /**
     * 测试接口
     */
    @PostMapping("/test")
    String post(User user);
}

在网上查找了需求,发现openfeign有一个动态URL配置,非常简单,新增一个URI参数即可 修改为下面的接口就可以

@FeignClient(name = "dynamic-url-client", url = "${dynamic-url-client.url}")
public interface DynamicUrlClient {

    /**
     * 测试接口
     */
    @PostMapping("/test")
    String post(User user);

    /**
     * 修改后的接口
     */
    @PostMapping("/test")
    String post(URI uri,User user);
}


// 使用方式
@Autowired
DynamicUrlClient dynamicUrlClient;
dynamicUrlClient.post(new URI("http://www.baidu.com"),user);


该方法在使用时会忽略掉默认的URL,使用传入的URI,这里还需要自己处理异常。 over~

Author: Administrator

Permalink: /archives/openfeign%E5%8A%A8%E6%80%81url

Published: 2026-01-05 11:20:30

Updated: 2026-01-05 11:20:30

License: 本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可

CATALOG