【问题标题】:How do you create custom zuul filters in spring cloud如何在 Spring Cloud 中创建自定义 zuul 过滤器 【发布时间】:2015-04-12 14:46:03 【问题描述】: 我想为我正在编写的 Spring Cloud 微服务编写一些我自己的自定义 zuul 过滤器。一旦我编写了过滤器,我该如何集成它,以便底层的 netflix zuul 框架可以利用它。 【问题讨论】: 标签: spring-cloud netflix-zuul 【解决方案1】: 创建一个扩展ZuulFilter 的@Bean。请参阅 java 配置示例here。只要 bean 与 @EnableZuulProxy 应用程序处于相同的上下文中,它就会自动被拾取。 @Bean public MyFilter myFilter() { return new MyFilter(); } 查看过滤器示例here。 public class MyFilter extends ZuulFilter { //... } 共有三种类型的过滤器:pre、route 和 post,并且每组过滤器都按该顺序执行(即所有 pre 的第一个,route 第二个和 post 的第三个)。 【讨论】: 感谢您的回答。根据请求来源添加过滤器的最正确和最可靠的方法是什么?即:我只想过滤来自某个来源的请求并将其路由到服务,但对于其他来源,我想返回错误代码。 您可以访问过滤器中的请求,您可以使用它为所欲为。 不是有 4 种不同的过滤器类型吗?前、路由、后和错误? 是的,错误也是一种类型。请参阅 github.com/Netflix/zuul/wiki/… 了解错误的工作原理。 答案中的链接现在是 404 了。