您能否帮我解决一下代码片段,它有助于确定netflix zuul是否将请求重定向到适当的服务 .
我正在使用spring boot&zuul 1.x.
. RequestContext.getCurrentContext()Request()方法getRequestURI()的toString() . ;给我一个由浏览器客户端启动的URL,但是我无法弄清楚如何确保zuul将此请求内部重定向到正确的服务 . 这将有助于测试而无需运行实际服务 .
谢谢,谢卡尔
尝试查看预装饰过滤器的源代码,基本上它所做的是根据提供的方式确定路由的位置和方式 . 还为下游请求设置各种代理相关的标头
context = RequestContext.getCurrentContext(); request = context.getRequest();
在上下文对象上调用getRouteHost方法,它将为您提供所有与路由相关的信息,如协议,主机,端口等 .
RequestContext.getCurrentContext().getRouteHost();
在请求对象上获取uri调用getRequestURI
request.getRequestURI()
NOTE: the problem you might be having was the order of your filter, since preDecorationFilter has order of 5
@Override public int filterOrder() { return PRE_DECORATION_FILTER_ORDER; }
这实际上是5(据我记得),请确保您的过滤顺序大于5,我尝试使用过滤器顺序7,一切都按预期工作,将您的智能代码放入run方法()
1 回答
尝试查看预装饰过滤器的源代码,基本上它所做的是根据提供的方式确定路由的位置和方式 . 还为下游请求设置各种代理相关的标头
在上下文对象上调用getRouteHost方法,它将为您提供所有与路由相关的信息,如协议,主机,端口等 .
在请求对象上获取uri调用getRequestURI
NOTE: the problem you might be having was the order of your filter, since preDecorationFilter has order of 5
这实际上是5(据我记得),请确保您的过滤顺序大于5,我尝试使用过滤器顺序7,一切都按预期工作,将您的智能代码放入run方法()