我已重写在一个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 –