分布式04SpringCloudZuul二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

以上是 分布式04SpringCloudZuul二Zuul拦截器 的全部内容, 来源链接: utcz.com/z/515225.html

回到顶部