springcloud--zuul(过滤器)

在zuul添加过滤器

新建类继承ZuulFilter类。

public class MyFilter extends ZuulFilter{

//是否需要过滤
@Override
public boolean shouldFilter() {
// TODO Auto-generated method stub
return true;
}

//过滤要执行的方法
@Override
public Object run() throws ZuulException {

RequestContext context = RequestContext.getCurrentContext();

HttpServletRequest request = context.getRequest();

String token = request.getParameter("token");

if(token == null) {

context.setSendZuulResponse(false);
context.setResponseStatusCode(400);
context.setResponseBody("{"result":"你没有token"}");
context.set("isSuccess",false);
}else {
context.setSendZuulResponse(true);
context.setResponseStatusCode(200);
context.set("isSuccess",true);
}

return null;
}

//过滤的类型
@Override
public String filterType() {
return FilterConstants.PRE_TYPE;
}

//过滤的级别
@Override
public int filterOrder() {
// TODO Auto-generated method stub
return 0;
}

}

启动类中添加:

@Bean
public ZuulFilter myFilter() {

return new MyFilter();
}

@Configuration注解

原文地址:https://www.cnblogs.com/niexinlei/p/9720723.html