如何在 Azure api 管理器中创建具有通配符路径的代理?
How to create proxies with wild card paths in Azure api manager?
下午好,
我有这样的情况,三个 swagger 文件将具有不同的资源,但它们属于同一个域。而且我无法将它们合并为一个 swagger,因为我们有很多这样的场景,并且管理一个 swagger 和一个 api 代理将是一个很大的开销。
例如:
我有 3 个 api 具有以下路径和资源
/supermarket/v1/aisles/{aisleId}/itemcategories
/supermarket/v1/aisles/{aisleId}/itemcategories/{itemcategoryId}/seasonedvegetabletypes
/supermarket/v1/aisles/{aisleId}itemcategories/{itemcategoryId}/seasonedvegetabletypes/{vegetablestypeId}/apples
以上 3 个都应该在 3 个不同的 swagger 文件中,所以我需要为以上创建 3 个 api 代理。
由于所有路径后缀都相同“/supermaket”,Azure API 管理器将不允许创建另一个具有相同路径后缀的 api 代理,因为它必须是唯一的。
于是在Apigee Edge (Google Edge) api 管理产品中实现了这一点。我将有如下基本路径
/supermarket/v1
/supermarket/v1/aisles//项目类别/
/supermarket/v1/aisles//itemcategories/*/seasonedvegetabletypes
这样我就可以避免唯一路径约束,也可以创建 3 个 api 代理。
但是 Azure API 管理器在创建 API 代理时不接受 "wildcard" 条目进入 API 路径后缀字段。
注:
您可能建议将 3 个 api 组合成一个单独的 swagger 文件可能会解决问题,但我上面给出的示例只是 swagger 的 30%,我们有很多这样的路径会落入单个业务域,因此我们必须将它们放在不同的 swagger 文件和不同的 api 代理中。
我们应该能够通过允许通配符或正则表达式进入 API 路径后缀来部署具有相同路径后缀的不同 API 代理。
非常感谢您帮助解决这个问题。谢谢
此时这是一个无法解决的限制。使 APIM 服务于这些 URI 的唯一方法是将它们全部放在单个 API 下,不幸的是,这不是您想要的。
下午好,
我有这样的情况,三个 swagger 文件将具有不同的资源,但它们属于同一个域。而且我无法将它们合并为一个 swagger,因为我们有很多这样的场景,并且管理一个 swagger 和一个 api 代理将是一个很大的开销。
例如:
我有 3 个 api 具有以下路径和资源
/supermarket/v1/aisles/{aisleId}/itemcategories
/supermarket/v1/aisles/{aisleId}/itemcategories/{itemcategoryId}/seasonedvegetabletypes
/supermarket/v1/aisles/{aisleId}itemcategories/{itemcategoryId}/seasonedvegetabletypes/{vegetablestypeId}/apples
以上 3 个都应该在 3 个不同的 swagger 文件中,所以我需要为以上创建 3 个 api 代理。
由于所有路径后缀都相同“/supermaket”,Azure API 管理器将不允许创建另一个具有相同路径后缀的 api 代理,因为它必须是唯一的。
于是在Apigee Edge (Google Edge) api 管理产品中实现了这一点。我将有如下基本路径
/supermarket/v1 /supermarket/v1/aisles//项目类别/ /supermarket/v1/aisles//itemcategories/*/seasonedvegetabletypes
这样我就可以避免唯一路径约束,也可以创建 3 个 api 代理。
但是 Azure API 管理器在创建 API 代理时不接受 "wildcard" 条目进入 API 路径后缀字段。
注:
您可能建议将 3 个 api 组合成一个单独的 swagger 文件可能会解决问题,但我上面给出的示例只是 swagger 的 30%,我们有很多这样的路径会落入单个业务域,因此我们必须将它们放在不同的 swagger 文件和不同的 api 代理中。
我们应该能够通过允许通配符或正则表达式进入 API 路径后缀来部署具有相同路径后缀的不同 API 代理。
非常感谢您帮助解决这个问题。谢谢
此时这是一个无法解决的限制。使 APIM 服务于这些 URI 的唯一方法是将它们全部放在单个 API 下,不幸的是,这不是您想要的。