2017-08-30 69 views
2

什麼我目前做的(這是非常簡單和方便的方式):假死+絲帶請求攔截目標主機後choosen

Feign.builder() 
.client(RibbonClient.create()) 
... 
.requestInterceptor(new MyInterceptor()) 

但攔截色帶發生之前解決實際目標主機。 問題是,我想添加一個頭,必須根據目標主機的名稱創建。

無論如何,我可以在主機解決後操縱標題嗎?

回答

0

我已經找到以下解決方案來解決這個問題。而不是使用佯攔截我用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()訪問目標主機。

然後我創建新的請求,添加我的標題並運行super.execute(newRequest, options)作爲最後的指令。