创建自定义Zuul过滤器

时间:2015-06-25 16:23:27

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

我想为我的Zuul代理实现自定义过滤器。现在,我知道有很多关于这个主题的讨论here我看了提供的答案,过滤器和Spring Cloud文档的例子,我经历过几次。我试图将一些过滤器内容复制到我的使用中,但它没有用。

我有一台Eureka服务器,注册了3个独立的服务,其中一个是另外两个服务的前门,从每个服务中收集信息并检索它们。

我希望能够做的是重新路由Zuul在流程开始时收到的请求,通过特定服务重定向它们,使用URL参数来确定应该针对哪个流程而不是另一个流程。 我已经创建了一个标有@Component注释的过滤器,实现了ZuulFilter。我不知道的是,如何使重定向工作,以及使用哪些方法。

所以,问题是:如何使用URL参数将传入请求重定向到不同的注册服务?

1 个答案:

答案 0 :(得分:8)

查看PreDecorationFilter以获取基于url路径匹配路由的示例(即/myservice)。如果它与完整网址匹配,则会在功能区上下文中设置routeHost,否则会设置serviceId(使用功能区路由)。你需要写一些与参数匹配的东西。