Spring Cloud 整合Zuul见上一篇
https://my.oschina.net/u/4039389/blog/3221637
1.拦截器类型
/** * “pre” 预过滤器 - 在路由分发一个请求之前调用。 * “route” 路由过滤器 - 用于路由请求时调用。 * “post” 后过滤器 - 在路由分发一个请求后调用。 * “error” 错误过滤器 - 在处理请求时发生错误时调用 */
2.编写拦截器
@Component public class PreFilter extends ZuulFilter { @Override public String filterType() { return "pre"; } @Override public int filterOrder() { return 0; } @Override public boolean shouldFilter() { return true; } @Override public Object run() throws ZuulException { RequestContext ctx = RequestContext.getCurrentContext(); HttpServletRequest request = ctx.getRequest(); System.out.println( "Pre Filter: Request Method : " + request.getMethod() + " " + "Request URL : " + request.getRequestURL().toString()); return null; } }
我们分别写4个类型的拦截器,分部在控制台打印出拦截器的顺序。(代码是一样的,只是filterType return 的值不一样,分别是拦截4个类型 )
可以看到控制台的打印顺序 pre >route>error(只有异常的情况才会出现)>post
来源:oschina
链接:https://my.oschina.net/u/4039389/blog/3223384