Spring cloud Netflix 文档没有任何有关现有 Zuul 过滤器的信息。是否有任何其他资源可以解释现有的 zuul 过滤器、创建新过滤器的指南?另外,我需要知道应该在自定义过滤器中设置什么优先级以及是否需要像在 servlet 过滤器中一样使用 ResponseWappers?
最佳答案
要创建自定义过滤器,您可以使用 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来获取请求和响应。
这些文档可能有助于获取更多详细信息:-
关于Spring cloud - Zuul - 自定义过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34179743/