如何在 Spring Cloud 中创建自定义 zuul 过滤器

Posted

技术标签:

【中文标题】如何在 Spring Cloud 中创建自定义 zuul 过滤器【英文标题】:How do you create custom zuul filters in spring cloud 【发布时间】:2015-04-12 14:46:03 【问题描述】:

我想为我正在编写的 Spring Cloud 微服务编写一些我自己的自定义 zuul 过滤器。一旦我编写了过滤器,我该如何集成它,以便底层的 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 了。

以上是关于如何在 Spring Cloud 中创建自定义 zuul 过滤器的主要内容,如果未能解决你的问题,请参考以下文章

在 Spring Boot 中创建自定义查询时出错

无法在 Spring Data Repository 中创建自定义查询方法 [重复]

如何在 laravel 中创建自定义关系?

如何在 QML 中创建自定义对象?

如何在 Facebook SDK 中创建自定义分享按钮

如何在 WordPress 中创建自定义表单?