在 Amazon API Gateway 中调用 REST API - Amazon API Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon API Gateway 中调用 REST API

为调用已部署的 API,客户端需要向 API Gateway 组件服务的 URL 提交请求以完成 API 执行(称为 execute-api)。

REST API 的基本 URL 采用以下格式:

https://restapi_id.execute-api.region.amazonaws.com/stage_name/

其中 restapi_id 是 API 标识符,区域是区域stage_name 是 API 部署的阶段名称。 Amazon

重要

在可以调用 API 之前,必须将其部署在 API Gateway 中。有关部署 API 的说明,请参阅在 Amazon API Gateway 中部署 REST API

获取 API 的调用网址

您可以使用控制台 Amazon CLI、或导出的 OpenAPI 定义来获取 API 的调用网址。

使用控制台获取 API 的调用网址

以下过程说明如何在 REST API 控制台中获取 API 的调用网址。

使用 REST API 控制台获取 API 的调用网址
  1. 通过以下网址登录到 API Gateway 控制台:https://console.aws.amazon.com/apigateway

  2. 选择已部署的 API。

  3. 从主导航窗格中选择阶段

  4. 阶段详细信息下,选择复制图标以复制您 API 的调用 URL。

    此网址用于您的 API 的根资源。

  5. 要获取 API 中其他资源的 API 调用网址,请展开辅助导航窗格下的舞台,然后选择一种方法。

  6. 选择复制图标以复制 API 的资源级调用网址。

使用获取 API 的调用网址 Amazon CLI

以下过程说明如何使用获取 API 的调用 URL Amazon CLI。

要获取 API 的调用网址,请使用 Amazon CLI
  1. 使用以下命令获取rest-api-id。此命令返回您所在地区的所有rest-api-id值。有关更多信息,请参阅get-rest-apis

    aws apigateway get-rest-apis
  2. 将示例rest-api-id替换为您的rest-api-id,将示例 {stage-name} 替换为您的 {stage-name},将 {region} 替换为您的区域

    https://{restapi_id}.execute-api.{region}.amazonaws.com/{stage_name}/
使用 API 的导出的 OpenAPI 定义文件获取 API 的调用网址

您还可以通过组合导出的 API 的 OpenAPI 定义文件的hostbasePath字段来构造根网址。有关如何导出 API 的说明,请参阅从 API Gateway 导出 REST API

调用 API

您可以使用浏览器、curl 或其他应用程序(例如 P ost man)调用已部署的 API。

此外,您可以使用 API Gateway 控制台来测试 API 调用。测试使用 API 网关的TestInvoke功能,该功能允许在部署 API 之前对 API 进行测试。有关更多信息,请参阅使用 API Gateway 控制台测试 REST API 方法

注意

调用 URL 中的查询字符串参数值不得包含 %%

使用网络浏览器调用 API

如果您的 API 允许匿名访问,则可以使用任何 Web 浏览器来调用任何GET方法。在浏览器的地址栏中输入完整的调用 URL。

对于其他方法或任何需要身份验证的调用,您必须指定有效负载或对请求进行签名。你可以在 HTML 页面后面的脚本中处理这些问题,也可以使用其中一个 Amazon SDK 在客户端应用程序中处理这些问题。

使用 curl 调用 API

你可以在终端中使用像 curl 这样的工具来调用 API。以下示例 curl 命令在 API prod 阶段的getUsers资源上调用 GET 方法。

Linux or Macintosh
curl -X GET 'https://b123abcde4.execute-api.us-west-2.amazonaws.com/prod/getUsers'
Windows
curl -X GET "https://b123abcde4.execute-api.us-west-2.amazonaws.com/prod/getUsers"