spring - 创建自定义 Zuul 过滤器

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

我想为我的 Zuul 代理实现自定义过滤器。现在,我知道有很多关于这个主题的讨论 here我查看了提供的答案,包括过滤器和 Spring Cloud 文档的示例,这些文档我看了好几次。我试图复制一些过滤器内容以供我使用,但没有奏效。

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

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

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

最佳答案

PreDecorationFilter 例如,根据 url 路径匹配路由(即 /myservice )。如果它匹配一个完整的 url,它会设置 routeHost在功能区上下文中,否则设置 serviceId (这将使用功能区来路由)。你需要写一些类似的东西来匹配参数。

关于spring - 创建自定义 Zuul 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31055736/

相关文章:

java - Spring Cloud : How to use Feign without Ribbon

spring - 无法使用 Spring Cloud Consul 和 @EnableDiscoveryClient 连接 RestTemplate

spring-cloud - Eureka 对等点未同步

java - Astyanax Cassandra 客户端中的连接池类型

java - minikube 中的损坏 jar

java - 使用 Maven 和 Eclipse 制作我的第一个 Web 项目时遇到问题

spring-cloud - 从 zuul 过滤器发送重定向

Python程序跨计算机操作netflix同时同步视频

java - 为什么 Spring MVC 将空对象插入到应该是空列表的内容中?

java - 执行 postgresql 模式脚本 Spring DatabasePopulator 提示 Unterminated dollar quote started at position