创建自定义 Zuul 过滤器

Creating custom Zuul filters

我想为我的 Zuul 代理实现自定义过滤器。现在,我知道已经有很多关于这个主题的讨论 并且我查看了提供的答案,包括过滤器示例和 Spring 云文档,我浏览了好几次.我试图复制一些过滤器内容来使用,但没有成功。

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

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

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

PreDecorationFilter 中查看基于 url 路径(即 /myservice)匹配路由的示例。如果它匹配完整的 url,它会在功能区上下文中设置 routeHost,否则它会设置 serviceId(这将使用功能区进行路由)。您需要编写类似的东西来匹配参数。