一、概念
1、Zuul 包含了请求路由和校验过滤两个最主要的功能:
a: 路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础
客户端请求网关/api/product,通过路由转发到 product 服务
客户端请求网关/api/order,通过路由转发到 order 服务
b : 过滤功能则负责对请求的处理过程进行干预,是实现请求校验等功能的基础
2、Zuul 过滤器实战
自定义过滤器需要继承ZuulFilter, ZuulFilter 是一个抽象类, 需要覆盖他的4 个方法:
1)filterType: 返回字符串代表过滤器的类型,返回类型有
pre: 在请求路由之前执行
route: 在请求路由时调用
post: 请求路由之后调用,也就是在router 和error 过滤器之后调用
error: 处理请求发生错误时调用
2)filterOrder: 此方法返回整型数值,通过此数值来定义过滤器的执行顺序,数字越小优先级越高
3)shouldFilter: 返回Bollean 值, 判断该过滤器是否执行。返回true 表示要执行此过滤器,false 不执行
4)run :过滤器的业务逻辑
自定义过滤器 LoginFilter
继承ZuulFilter
在类上添加@Component
实现抽象方法