【发布时间】:2018-12-13 09:07:55
【问题描述】:
我正在创建一个带有一些上下文路径和 v1 版本的 API:
然后我尝试提供指向后端的沙盒和生产端点。目标是:
专业人士: http://localhost:9090/myapi/{version}
SB: http://localhost:8080/myapi/{version}
也就是说我想使用后端路径中的版本字段。
但是我收到以下错误:
沙盒端点 URI 无效。请参阅 HTTP 端点文档 WSO2 ESB 的详细信息。
生产端点 URI 无效。请 有关详细信息,请参阅 WSO2 ESB 的 HTTP 端点文档。
有什么办法吗?
更新:
我找到了以下文章 (https://docs.wso2.com/display/AM260/Map+the+Parameters+of+your+Backend+URLs+with+the+API+Publisher+URLs),它解释了如何使用 uri.var 前缀映射值。所以现在在我的端点中我有:
专业人士: http://localhost:9090/myapi/{uri.var.version}
SB: http://localhost:8080/myapi/{uri.var.version}
现在的问题是它的值是空的。
【问题讨论】:
-
只是为了更好地阐明需求,您期望通过使用变量定义版本有什么好处?
-
与stackoverflow.com/questions/53720241/…相关。您的解决方案确实有助于删除上下文路径,但不是版本。使用这种替换 {version} 将允许我使用像 WSO2/myapp/v1/api/customers 这样的 URL,它将被转换为带有变量替换的后端调用 /api/v1/customers。
-
我对这个要求还不是很清楚。如果您尝试更改版本在上下文路径中的显示位置,您可以尝试设置“/wso2/myapp/{version}/api”之类的上下文。我没有看到使用 API Manager API 版本设置后端服务版本的优势。
-
问题与另一个问题相同,考虑到 wso2 api 版本与 URL 中的后端版本相同,我正在寻找一种不同的方法来使用变量替换
-
我刚刚发现了这个寻找相同方法的问题:stackoverflow.com/questions/48832995/… 但它也没有针对这个特定问题的答案。