我想知道@EnableZuulServer
会提供什么用例?
在我的情况下,我想将ZuulFilter框架用于微服务,并且在通过Zuul Filter框架之后调用控制器上的spring handlerMappings。不希望代理转发。
这可能吗?怎么样?我们可以在此方案中使用@EnableZuulServer
模式吗?我没有找到太多文档来了解@EnableZuulServer
的工作原理。
有人可以解释和帮助吗?
答案 0 :(得分:3)
来自Spring Cloud Netflix文档:
Spring Cloud Netflix根据其安装了许多过滤器 注释用于启用Zuul。
@EnableZuulProxy
是。的超集@EnableZuulServer
。换句话说,@EnableZuulProxy
包含所有内容 由@EnableZuulServer
安装的过滤器。中的附加过滤器 "代理"启用路由功能。如果你想要一个"空白" Zuul,你 应该使用@EnableZuulServer
。
基于此,您的问题的答案是:是的。
您可以添加@EnableZuulServer
注释,但不会获得代理转发,但您仍然可以使用ZuulFilter
框架。
也就是说,如果您只想过滤请求和回复,可以使用标准Servlet Filter
和FilterRegistrationBean
(relevant javadoc)
就用例而言,当您需要比@EnableZuulServer
提供的更多自定义行为时,您可以使用@EnableZuulProxy
。
因此,例如,可能出于调试目的,您希望能够支持请求标头,该请求标头在请求来自特定IP范围内时将您的请求代理到指定的主机。
答案 1 :(得分:0)
来自Spring Cloud Netflix文档:
在这种情况下,仍然指定进入Zuul服务器的路由 配置“zuul.routes。*”,但没有服务发现和没有 代理,因此“serviceId”和“url”设置被忽略。