ela*_*tic 5 spring-boot netflix-zuul api-gateway
我正在尝试使用转发调用的 zuul 配置 API 调用路由器。有两种服务:users 服务使用路径版本控制,即/v1/users, /v2/users,...accounts 服务不使用路径版本控制,因此所有路由都省略前缀v*( /accounts)。
为了提供一个通用接口,我想接受对/v*/accounts我的 api 路由器的调用并将它们转发到/accounts我的帐户服务。呼叫应按/v*/user/原样转发至用户服务。
我的 application.yml 看起来像这样
zuul:
routes:
users:
path: /v*/users/**
url: ${microservices.usersServiceUrl}
stripPrefix: false
accounts:
path: /v*/accounts/**
url: ${microservices.accountsServiceUrl}
stripPrefix: true
Run Code Online (Sandbox Code Playgroud)
不幸的是,这并没有达到预期的效果。帐户路径中的任何内容都不会被删除,并且会按原样转发。
如果我删除正则表达式 ( v*) 并放入path: /v1/accounts/**,则整个前缀/v1/accounts将被删除。显然,正则表达式可以防止前缀被剥离,从而发挥path: /v1/**/accounts/**作用。然而,我想避免明确命名所有版本,因为我们的 API 目前正在快速发展。
使用全局zuul.prefix也没有帮助,因为你只能全局决定将其剥离或保持完整。
我主要依赖这个文档。
有没有更好的方法来指定转发的 URL 的格式?
| 归档时间: |
|
| 查看次数: |
7920 次 |
| 最近记录: |