openfeign动态URL
今日收到一个需求,采集好的数据需要发送到不同的后端,这个采集端是物理上只能采集一次的,但是又有dev环境,测试环境和正式环境都需要采集到的数据,因此需要一个采集器配置多个后端地址,但是OpenFeign默认使用方法不能动态修改URL,因此需要使用OpenFeign提供的动态URL配置。
假设目前是这样的一个后端接口:
1 2 3 4 5 6 7 8 9
| @FeignClient(name = "dynamic-url-client", url = "${dynamic-url-client.url}") public interface DynamicUrlClient {
@PostMapping("/test") String post(User user); }
|
在网上查找了需求,发现openfeign有一个动态URL配置,非常简单,新增一个URI参数即可 修改为下面的接口就可以
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| @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~
评论加载中