我想为我的Zuul代理实现自定义过滤器。现在,我知道有很多关于这个主题的讨论here我看了提供的答案,过滤器和Spring Cloud文档的例子,我经历过几次。我试图将一些过滤器内容复制到我的使用中,但它没有用。
我有一台Eureka服务器,注册了3个独立的服务,其中一个是另外两个服务的前门,从每个服务中收集信息并检索它们。
我希望能够做的是重新路由Zuul在流程开始时收到的请求,通过特定服务重定向它们,使用URL参数来确定应该针对哪个流程而不是另一个流程。
我已经创建了一个标有@Component
注释的过滤器,实现了ZuulFilter
。我不知道的是,如何使重定向工作,以及使用哪些方法。
所以,问题是:如何使用URL参数将传入请求重定向到不同的注册服务?
答案 0 :(得分:8)
查看PreDecorationFilter
以获取基于url路径匹配路由的示例(即/myservice
)。如果它与完整网址匹配,则会在功能区上下文中设置routeHost
,否则会设置serviceId
(使用功能区路由)。你需要写一些与参数匹配的东西。