如何检查netflix zuul是否将请求重定向到适当的服务

时间:2018-05-07 14:20:43

标签: netflix-zuul

请您帮我查一下代码片段,它有助于确定netflix zuul是否将请求重定向到适当的服务。

我正在使用弹簧靴& zuul 1.x。

RequestContext.getCurrentContext()Request()方法getRequestURI()的toString();给我一个由浏览器客户端启动的URL,但是我无法弄清楚如何确保zuul将此请求内部重定向到正确的服务。这将有助于测试而无需运行实际服务。

谢谢, 谢卡尔

1 个答案:

答案 0 :(得分:0)

尝试查看预装饰过滤器的源代码,基本上它所做的是根据提供的方式确定路由的位置和方式。还为下游请求设置各种代理相关的标头

context = RequestContext.getCurrentContext();    
request = context.getRequest();

在上下文对象上调用getRouteHost方法,它将为您提供所有与路由相关的信息,如协议,主机,端口等。

RequestContext.getCurrentContext().getRouteHost();

在请求对象上获取uri调用getRequestURI

 request.getRequestURI()

注意:您可能遇到的问题是过滤器的顺序,因为preDecorationFilter的顺序为5

@Override
    public int filterOrder() {
        return PRE_DECORATION_FILTER_ORDER;
    }

实际上是5(据我记得),请确保您的过滤器顺序大于5,我尝试使用过滤器顺序7并且一切都按预期工作,将您的智能代码放入run方法()