【发布时间】:2019-02-28 12:19:48
【问题描述】:
使用 Zuul,如何在给定以下 URL 的情况下提取路径变量(customerId 和 agreementId):
客户/{
customerId}/agreements/{agreementId}
我可以使用 Zuul 或 Eureka 以某种方式获取路径变量的引用名称,还是需要使用 RegEx 或类似的东西?
【问题讨论】:
-
zuul 用于代理。所以你应该将请求导航到restcontroller。和 customerid 等不应该是路由的逻辑属性。所以你应该在控制器上解析路径变量。
-
是的,我们当然是在控制器级别解析路径变量。但我想在将请求传递给 API 之前验证 Zuul 网关服务中的 customerId 和 agreementId。
-
所以,您可以在网关服务中实现您的
javax.servlet.Filter,并在doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain) { ... }方法中对传入请求进行一些逻辑 -
我知道如何使用 Zuul 实现自定义过滤器,但我想通过引用它们来访问路径变量。该链接仅包含创建过滤器的通用指南,但没有回答我的问题。
标签: java spring-boot netflix-eureka netflix-zuul