一、自定义Filter
继承ZuulFilter,重写四个方法
@Component
public class AuthFilter extends ZuulFilter {
//定义过滤器类型
@Override
public String filterType() {
return FilterConstants.PRE_TYPE;
}
//拦截器顺序,值越小,越在前
@Override
public int filterOrder() {
return -1;
}
//该过滤器是否生效
@Override
public boolean shouldFilter() {
return true;
}
//拦截后的具体业务逻辑, 返回NULL,继续向后执行
@Override
public Object run() {
return null;
}
}
二、Filter 类型
filter 有四种类型:
- pre :在请求被路由前执行,可用作鉴权、记录日志、限流
- route :在将请求路由到微服务时执行,用于构建发送给微服务的请求
- post :在调用微服务后执行,将响应返回给客户端
- error :在其他阶段发生错误时执行