Zuul Gateway - setSendZuulResponse& removeRouteHost

时间:2017-10-09 05:38:00

标签: spring-boot spring-cloud netflix-zuul spring-cloud-netflix

只是想要澄清一下 - 在Netflix的Zuul Gateway中,RequestContext对象有两个方法,setSendZuulResponse和removeRouteHost。

首先,有人可以告诉我两者之间的区别。从这个post开始,他们也会这样做,但我找不到描述这些内容的文档(sendZuulResponseremoveRouteHost)。

第二,Zuul过滤器是否会点击资源/原始服务器而不管是否被过滤但只是隐藏了对客户端的响应?根据{{​​3}}的文档,它说:

"If this value if true then the response should be sent to the client."

我的理由是,如果此值设置为false,则不应将响应发送给客户端;但是,Zuul有响应(???),这意味着它已经发送了请求(如果这是有道理的)。

感谢。

1 个答案:

答案 0 :(得分:0)

如果您使用的是Spring Cloud Netflix Zuul依赖项,那么SimpleHostRoutingFilter类(它是进行下游调用的类)仅在满足以下代码时被激活

RequestContext.getCurrentContext().getRouteHost() != null && RequestContext.getCurrentContext().sendZuulResponse();

由此可见,如果路由主机为null或Zuul响应设置为false,则过滤器将不会运行,也不会向下游服务发出请求。