在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注解