如何在一个网关应用程序中创建多个 Zuul 过滤器

How to create Multiple Zuul Filters in one Gateway App

如何在 zuul 网关应用程序(spring 启动)中创建多个 (pre/post) 过滤器。

示例:

/endpoint1 - should call (Filter 1)
/endpoint2 - should be served by (Filter2)

目前我了解到每个到达网关的请求都将由一个过滤器处理(pre,route,post)

您可以对一个端点或多个端点使用多个过滤器。

如果您想对某些端点应用过滤器而不对其他端点应用过滤器,您可以使用此过滤器(例如预过滤器)的 shouldFilter() 方法来定义用例。像这样的东西:

@Override
public boolean shouldFilter() {
    String endpointToFilter = RequestContext.getCurrentContext().getRequest().getRequestURI();
    endpointToFilter = endpointToFilter.substring(0, endpointToFilter.indexOf("/", 1));
    boolean shouldFilter = "endpoint1".equals(endpointToFilter);
    return shouldFilter;
}