上次讲了Zuul的基本使用,这篇讲的是综合使用,比如过滤器,限流,鉴权等应用
这里继续使用api-getway这个项目
过滤器
实现token验证(前置过滤器)
1.新建一个类,继承ZuulFilter,细节方面看下面代码,还有别忘了在类上加@Component注解,否则不生效
@Component
public class TokenFilter extends ZuulFilter {
/**
* 过滤器类型
* @return
*/
@Override
public String filterType() {
return PRE_TYPE;
}
/**
* 优先级,数字越大,优先级越低
* 只做一般过滤,没有特殊要求的,可以放在内置过滤器后面
* @return
*/
@Override
public int filterOrder() {
//最后一个内置PRE过滤器后面
return PRE_DECORATION_FILTER_ORDER+1;
}
/**
* 是否执行该过滤器,true代表需要过滤
* 这里可以忽略掉一些不需要过滤请求
* @return
*/
@Override
public boolean shouldFilter() {
return true;
}
@Override
public Object run() throws ZuulException {
RequestContext ctx = RequestContext.getCurrentContext();
HttpServletRequest r