我目前正在做什么(这是非常简单方便的方式):
localhost:9222
但是在功能区实际解析目标主机之前会发生拦截。 问题是,我想要添加的一个标头必须根据目标主机的名称创建。
无论如何,我可以在主机解析后操纵标头吗?
答案 0 :(得分:1)
我找到了以下解决此问题的方法。我没有使用Feign拦截器,而是使用RibbonClient委托:
Feign.builder()
.client(RibbonClient.builder().delegate(new MyDelegate())
...
MyDelegate
扩展feign.Client.Default
类并覆盖public Response execute(Request request, Request.Options options)
方法。
通过这种方式,我可以通过URI.create(request.url()).getHost()
访问目标主机。
然后我创建新的Request,添加我的标题并运行super.execute(newRequest, options)
作为最后一条指令。