netflix-zuul - 如何在一个网关应用中创建多个 Zuul 过滤器
问题描述
如何在 zuul 网关应用程序(spring boot)中创建多个(前/后)过滤器。
例子:
/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;
}
推荐阅读
- javascript - 按下按钮时改变正方形的颜色
- java - 一个简单程序中的“线程“主”java.lang.Error中的异常”
- sql - Impala 双精度值未正确加载
- nginx - Nginx 403 权限被拒绝,chown/chmod 似乎不起作用
- node.js - 使用 NodeJS 查找在线游戏中的最短路径
- cocoa - didChangeAutomaticCapitalizationNotification 未触发
- python - 为什么 Tkinter.Tk() 不立即打开窗口?
- json - JSON 到具有可变根的 DataTable 网络
- javascript - 如何在同一个节点子进程中执行多个命令?
- bluetooth - 将 CSRMesh 蓝牙与 Google Home 集成