【发布时间】:2017-09-03 06:09:13
【问题描述】:
我正在使用 Spring Cloud 的 Zuul 将一些 API 请求代理到一些外部服务器。代理本身运行良好,但每个服务都需要在请求标头中提供一个(不同的)令牌。
我已经成功地为每个应用适当标头的标记编写了一个简单的预过滤器。但是,我现在有一个问题。即使在翻阅文档之后,我也无法弄清楚如何使每个过滤器仅适用于正确的路线。我不想在 url 跨环境更改时执行 url 匹配。理想情况下,我有办法在过滤器中获取路线的名称。
我的应用程序.yml:
zuul:
routes:
foo:
path: /foo/**
url: https://fooserver.com
bar:
path: /bar/**
url: https://barserver.com
理想情况下,我想在 FooFilter.java(预过滤器)中做这样的事情:
public bool shouldFilter() {
return RequestContext.getCurrentContext().getRouteName().equals("foo");
}
但我似乎找不到任何方法来做到这一点。
【问题讨论】:
标签: java spring spring-cloud netflix-zuul spring-cloud-netflix