gpt4 book ai didi

api - AWS API Gateway 基于 URI 的版本控制

转载 作者:行者123 更新时间:2023-12-04 09:22:17 25 4
gpt4 key购买 nike

我正在努力理解 AWS API Gateway 如何让我组织我的 API,以便版本控制很简单。例如,假设我有一个用于从字典中获取单词的简单 API,可以选择通过查询参数过滤结果。我希望在以下位置提供 v1:

https://<my-domain>/v1/names?starts-with=<value>

但是,我能得到的最接近 API Gateway 是在
https://<my-domain>/names/v1?starts-with=<value>

...这是相当倒退。

我在控制台中得到的是带有支持 GET 方法的“v1”资源的“Names API”。我也有我的自定义域设置来将“名称”的基本路径映射到“名称 API”和阶段“测试”。基本路径必须是唯一的,因此放置“v1”只会获得短期胜利;一旦我创建了我的第二个 API(例如 Numbers API),它也会有一个 v1,我将无法创建第二个映射。

非常感谢任何和所有帮助,因为我现在没有想法。

最佳答案

不要将版本路径 (/v1) 创建为 API 中的资源。相反,只需调用 API“Names V1”并开始创建资源 (/names)。当您想要进行重大更改并创建 API 的新版本时,我们建议您创建一个名为“Names V2”的全新 API。再一次,只需创建没有版本路径的资源。

要将这两个 API 结合在一起,您可以使用自定义域名。 API Gateway 中的自定义域名包括完全限定域名和基本路径。创建两个自定义域名:

  • myapi.com/v1 -> 指向 Names V1 API 的 prod 阶段
  • myapi.com/v2 -> 指向 Names V2 API 的 prod 阶段

  • 通过这种方式,您可以在对 v2 进行更改的同时继续修复错误 v1,并独立部署这两个 API。自定义域名会将它们组合在一起并使它们出现在同一域 (myapi.com/v2/names) 下。

    希望这可以帮助。

    关于api - AWS API Gateway 基于 URI 的版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42095592/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com