Amazon API Gateway
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在 Amazon API Gateway 中通过利用集成创建 REST API

您可以使用本演练,在 Amazon API Gateway 中通过模拟集成创建并部署 API。利用模拟集成,您的 API 能够直接返回一个请求的响应,而无需将该请求发送到后端。这使您能够独立于后端开发您的 API。

步骤 1:创建 API

在此步骤中,您在 API Gateway 控制台中使用 GET 方法和查询参数创建 API。

  1. 如果您尚未这样做,请完成先决条件:在 API Gateway 中为构建 API 做好准备中的步骤。

  2. 通过 https://console.amazonaws.cn/apigateway 登录 API Gateway 控制台。

  3. 如果这是您首次使用 API Gateway,则您会看到一个介绍服务功能的页面。选择 Get Started (入门) 。当 Create Example API (创建示例 API) 弹出框出现时,选择 OK (确定)

    如果这不是您首次使用,请选择 Create API (创建 API)

    
                        API Gateway 入门
  4. Choose the protocol (选择协议) 下,选择 REST

  5. Create a new API (创建新 API) 下,选择 New API (新建 API)

  6. Settings (设置) 下:

    • 对于 API name (API 名称),输入 my-api

    • 如果需要,在 Description (说明) 字段中输入说明;否则,将其保留为空。

    • Endpoint Type (终端节点类型) 设置为 Regional (区域)

  7. 选择 Create API

  8. Actions (操作) 下拉菜单中,选择 Create Method (创建方法)

  9. 在资源名称 (/) 下,您将看到一个下拉菜单。选择 GET,然后选中复选标记图标以保存您的选择。

  10. 您将看到一个 / – GET – Setup (/ – GET – 设置) 窗格。对于 Integration Type (集成类型),选择 Mock (模拟)

    
                        “API Gateway Method Setup (/ – GET – 方法设置)”窗格
  11. 选择 Save (保存)。现在您将看到一个 / – GET – Method Execution (/ – GET – 方法执行) 窗格:

    
                        “API Gateway Method Execution (/ – GET – 方法执行)”窗格

    Method Execution (方法执行) 窗格按顺时针顺序包含以下项:

    • Client (客户端):此框表示调用您的 API 的 GET 方法的客户端(浏览器或应用程序)。如果您选择 Test (测试) 链接,然后选择 Test (测试),这将模拟来自客户端的 GET 请求。

    • Method Request (方法请求):此框表示客户端的 GET 请求(当被 API Gateway 接收时)。如果您选择了 Method Request (方法请求),则在授权和修改方法请求等内容的设置被作为集成请求传递到后端之前,您将看到它们。

    • Integration Request (集成请求):此框表示 GET 请求(当将被传递到后端时)。对于模拟集成,Mapping Templates (映射模板) 可用于指定要返回的响应(HTTP 状态代码和消息)。

    • Mock Endpoint (模拟终端节点):此框表示空后端。

    • Integration Response (集成响应):此框表示来自后端的响应(在作为方法响应传递到客户端之前)。对于模拟集成,响应将在 Integration Request (集成请求) 框中定义(因为没有提供该响应的后端)。您可以将集成响应配置为将任意输出转换为适合客户端应用程序的形式。您稍后将在本演练中了解如何执行此操作。

    • Method Response (方法响应):此框表示可返回到客户端的 HTTP 状态代码。对于模拟集成,响应的其余部分将针对每个状态代码在 Integration Response (集成响应) 框中进行配置。

    在此步骤中,将所有内容的设置保留为默认值。

步骤 2:创建模拟集成

在此步骤中,您将查询字符串参数添加到 GET 方法,然后指定您的 API 将返回的响应代码和消息,而不是与后端集成。

首先,创建查询字符串参数:

  1. / - GET - Method Execution ( - GET - 方法执行) 窗格中,选择 Method Request (方法请求)

  2. / - GET - Method Request ( - GET - 方法请求) 窗格中,展开 URL Query String Parameters (URL 查询字符串参数)

  3. 选择 Add query string (添加查询字符串)

  4. Name (名称) 键入 myParam 并选中复选标记图标以保存您的选择。

接下来,创建一个映射模板,该模板将查询字符串参数值映射到要返回到客户端的 HTTP 状态代码值。

  1. 选择 Method Execution (方法执行)

  2. 选择 Integration Request (集成请求)

  3. 展开 Mapping Templates (映射模板)

  4. 对于 Request body passthrough (请求正文传递),选择 When there are no templates defined (recommended) (当未定义模板时(推荐))

  5. Content-Type 下,选择 application/json

  6. 将模板内容替换为以下内容:

    { #if( $input.params('myParam') == "myValue" ) "statusCode": 200 #else "statusCode": 500 #end }
  7. 选择 Save (保存)

步骤 3:定义成功的响应

现在,您将创建一个映射模板,该模板将 HTTP 200 状态代码值映射到要返回到客户端的成功消息。

  1. 选择 Method Execution (方法执行)Integration Response (集成响应)

  2. 展开 200 响应,然后展开 Mapping Templates (映射模板) 部分。

  3. Content-Type 下,选择 application/json

  4. 对于模板内容,输入以下内容:

    { "statusCode": 200, "message": "Hello from API Gateway!" }
  5. 选择 Save (保存)

    注意

    此窗格中有两个 Save (保存) 按钮。请务必选择 Mapping Templates (映射模板) 部分中的那个。

步骤 4:添加 HTTP 500 状态代码和错误消息

在此步骤中,您将前端可返回的 HTTP 500 状态代码添加到客户端,然后将其映射到错误消息。

首先,添加 500 状态代码:

  1. 选择 Method Execution (方法执行)Method Response (方法响应)

  2. 选择 Add response (添加响应)

  3. 对于 HTTP status (HTTP 状态),输入 500 并选中复选标记图标以保存设置。

现在,创建一个映射模板,该模板将“返回的”500 状态代码值映射到错误消息(从前端到客户端):

  1. 选择 Method Execution (方法执行)Integration Response (集成响应)

  2. 选择 Add integration response (添加集成响应)

  3. 对于 HTTP status regex (HTTP 状态正则表达式),输入 5\d{2}

  4. 对于 Method response status (方法响应状态),从下拉菜单中选择 500 并选择 Save (保存)

  5. 展开 500 响应,然后展开 Mapping Templates (映射模板) 部分(如果尚未展开)。

  6. Content-Type 下,选择 Add mapping template (添加映射模板)

  7. Content-Type 下的框中,输入 application/json 并选中复选标记图标以保存您的选择。

  8. 对于模板内容,输入以下内容:

    { "statusCode": 500, "message": "This is an error message." }
  9. 选择 Save (保存)

    注意

    此窗格中有两个 Save (保存) 按钮。请务必选择 Mapping Templates (映射模板) 部分中的那个。

步骤 5:测试模拟集成

在此步骤中,您将测试模拟集成。

  1. 选择 Method Execution (方法执行),然后选择 Test (测试)

  2. Query Strings (查询字符串) 下,输入 myParam=myValue

  3. 选择 Test (测试)

    您应看到类似下面的输出:

    
                        测试 200 模拟值
  4. Query Strings (查询字符串) 下,输入 myParam=""。或者直接删除 Query Strings (查询字符串) 框中的所有内容。

  5. 选择 Test (测试)

    您应看到类似下面的输出:

    
                        测试 500 模拟值

后续步骤

探索下列任何一个或全部主题,进一步熟悉 Amazon API Gateway。

了解相关更多信息 转到
定义方法请求和响应 在 API Gateway 中设置 REST API 方法
定义集成响应 在 API Gateway 中设置集成响应
为您的 API 设置自定义域名 在 API Gateway 中为 API 设置自定义域名
为您的 API 启用 CORS 为 API Gateway REST API 资源启用 CORS

要从社区中获取 Amazon API Gateway 帮助,请参阅 API Gateway 开发论坛。(当您进入此论坛时,AWS 可能会要求您登录。)

要从 AWS 直接获得 API Gateway 帮助,请参阅 AWS Support 页中的支持选项。

另请参阅我们的常见问题 (FAQ),或者直接与我们联系