使用 API Gateway 控制台启用模拟集成 - Amazon API Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 API Gateway 控制台启用模拟集成

您必须在 API Gateway 中有一个可用的方法。按照教程:使用 HTTP 非代理集成构建 REST API中的说明进行操作。

  1. 选择 API 资源,然后选择创建方法

    要创建方法,请执行以下操作:

    1. 对于方法类型,选择一种方法。

    2. 对于集成类型,选择模拟

    3. 选择创建方法

    4. 方法请求选项卡上,对于方法请求设置,选择编辑

    5. 选择 URL 查询字符串参数。选择添加查询字符串,然后为名称中输入 scope。此查询参数确定调用方是否为内部。

    6. 选择 Save(保存)。

  2. 方法响应选项卡上,选择创建响应,然后执行以下操作:

    1. 对于 HTTP 状态,输入 500

    2. 选择 Save(保存)。

  3. 集成请求选项卡上,对于集成请求设置,选择编辑

  4. 选择映射模板,然后执行以下操作:

    1. 选择 Add mapping template (添加映射模板)

    2. 对于内容类型,输入 application/json

    3. 对于模板正文,输入以下内容:

      { #if( $input.params('scope') == "internal" ) "statusCode": 200 #else "statusCode": 500 #end }
    4. 选择 Save(保存)。

  5. 集成响应选项卡上,对于默认 - 响应,选择编辑

  6. 选择映射模板,然后执行以下操作:

    1. 对于内容类型,输入 application/json

    2. 对于模板正文,输入以下内容:

      { "statusCode": 200, "message": "Go ahead without me" }
    3. 选择 Save(保存)。

  7. 选择创建响应

    要创建 500 响应,请执行以下操作:

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

    2. 对于方法响应状态,选择 500

    3. 选择 Save(保存)。

    4. 对于 5\d{2} - 响应,选择编辑

    5. 选择映射模板,然后选择添加映射模板

    6. 对于内容类型,输入 application/json

    7. 对于模板正文,输入以下内容:

      { "statusCode": 500, "message": "The invoked method is not supported on the API resource." }
    8. 选择 Save(保存)。

  8. 选择 Test(测试)选项卡。您可能需要选择右箭头按钮以显示该选项卡。要测试模拟集成,请执行以下操作:

    1. 查询字符串下,输入 scope=internal。选择 Test (测试)。测试结果显示:

      Request: /?scope=internal Status: 200 Latency: 26 ms Response Body { "statusCode": 200, "message": "Go ahead without me" } Response Headers {"Content-Type":"application/json"}
    2. Query strings 下输入 scope=public 或将其留空。选择 Test (测试)。测试结果显示:

      Request: / Status: 500 Latency: 16 ms Response Body { "statusCode": 500, "message": "The invoked method is not supported on the API resource." } Response Headers {"Content-Type":"application/json"}

您也可以首先将标头添加到方法响应,然后在集成响应中设置标头映射,从而在模拟集成响应中返回标头。实际上,这是 API Gateway 控制台通过返回 CORS 需要的标头来启用 CORS 支持的方法。