定义Zuul过滤器和多过滤器开发(Spring Cloud系列七)

该文章的项目基于SPring Cloud系列六

 

第一步:创建好过滤器类,并继承ZuulFilter

有4个方法需要实现

定义Zuul过滤器和多过滤器开发(Spring Cloud系列七)

 

第二步:实现4个方法,并加上注解

定义Zuul过滤器和多过滤器开发(Spring Cloud系列七)

 

启动所有项目测试:

测试Header没加token的请求,被拦截了,body返回了上面加入的错误提示信息

定义Zuul过滤器和多过滤器开发(Spring Cloud系列七)

 

测试Header加了token的请求,请求成功

定义Zuul过滤器和多过滤器开发(Spring Cloud系列七)

 

 

多过滤器开发

先说说多过滤器的执行逻辑,如果请求的name值是1就只执行第一个过滤器,如果name是2则执行第一第二个过滤器,如此类推

首先创建三个过滤器

三个过滤器的代码除了蓝色方框内的值意外都相同

filterOrder里的返回值在第二个过滤器里为1,第三个过滤器里为2,如图2

图1.定义Zuul过滤器和多过滤器开发(Spring Cloud系列七)

 

图2.

定义Zuul过滤器和多过滤器开发(Spring Cloud系列七)

 

启动所有项目测试:

name值为1的时候,只执行第一个过滤器

定义Zuul过滤器和多过滤器开发(Spring Cloud系列七)

 

name值为2的时候执行第一第二个过滤器

定义Zuul过滤器和多过滤器开发(Spring Cloud系列七)