Spring cloud Netflix 文档没有关于现有 Zuul 过滤器的任何信息。是否有任何其他资源可以解释现有的 zuul 过滤器、创建新过滤器的指南?另外我需要知道我应该在我的自定义过滤器中设置什么优先级,以及我是否需要像在 servlet 过滤器中那样使用 ResponseWappers?
问问题
3410 次
1 回答
4
要创建自定义过滤器,您可以使用 ZuulFilter 扩展该类,并且您必须添加 @Bean 配置。
public class MyFilter extends ZuulFilter {
@Override
public String filterType() {
return "pre";
}
@Override
public int filterOrder() {
return 1;
}
@Override
public boolean shouldFilter() {
return true;
}
@Override
public Object run() {
return null;
}
}
把这个定义写在用springbootapplication注解的类上
@Bean
public MyFilter myFilter() {
return new MyFilter();
}
过滤器有 4 种类型 PRE、ROUTING、POST、ERROR 我认为名称说明了您可以在上面的 FilterType() 方法中定义过滤器类型的目的,也可以选择优先级。
您可以使用 RequestContext 来获取请求和响应。
这些文档可能有助于获取更多详细信息:-
于 2016-06-24T17:27:42.620 回答