如何在一个网关应用程序中创建多个 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;
}
如何在 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;
}