我已重寫在一個ZuulFilter
作爲輸送頭失敗
RequestContext ctx = RequestContext.getCurrentContext();
ctx.addZuulRequestHeader('header name', 'value');
然而,在另一個服務我不能找到來自請求的報頭中的run()
方法。
更多細節,filterType
是"pre"
且只有一個過濾器。
我已重寫在一個ZuulFilter
作爲輸送頭失敗
RequestContext ctx = RequestContext.getCurrentContext();
ctx.addZuulRequestHeader('header name', 'value');
然而,在另一個服務我不能找到來自請求的報頭中的run()
方法。
更多細節,filterType
是"pre"
且只有一個過濾器。
頁眉在Zuul過濾器添加,
context.addZuulRequestHeader("my-header", "my-value");
可以用另一種過濾器這樣被檢索,
context.getZuulRequestHeaders().get("my-header");
我也儘量保持我的預濾波器階低,例如,-1000 ;
您可以檢索在內部服務的頭,Zuul的客戶端,你會爲任何其他頭去做。沒有定期請求報頭和Zuul頭之間,例如區別,
@RequestMapping(value = /abc/hello, method = RequestMethod.GET)
public MyObject read(@RequestHeader("my-header") String value) {
...
}
我怎樣才能在Zuul客戶getZuulRequestHeaders? –
更新我的帖子用一個例子。 –
實施例過濾器將報頭添加:在應用配置中
public class AddHeaderFilter extends ZuulFilter {
public String filterType() {
return "pre";
}
public int filterOrder() {
return 100;
}
public boolean shouldFilter() {
return true;
}
public Object run() {
RequestContext context = RequestContext.getCurrentContext();
context.addZuulRequestHeader('header name', "value");
return null;
}
}
然後,你必須加載過濾器作爲豆:
@Bean
AddHeaderFilter addHeaderFilter() {
return new AddHeaderFilter();
}
能否請您提供更多的細節。它是什麼樣的過濾器(前,路線,後)?它是什麼順序? – spencergibb
@spencergibb前,只有一個濾波器階數爲0 –