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

在 API Gateway 中设置模拟集成

Amazon API Gateway 支持 API 方法的模拟集成。借助该特征,API 开发人员可以直接从 API Gateway 生成 API 响应,无需集成后端。作为 API 开发人员,您可以在项目开发结束之前使用此特征,以便不妨碍需要使用 API 开展工作的相关团队。您还可以使用此特征来预配置 API 的登录页面,该网页可提供您的 API 概述和导航。有关此类登录页面的示例,请参阅 教程:通过导入示例创建 REST API中所述示例 API 的根资源上 GET 方法的集成请求和响应。

作为 API 开发人员,您可以决定 API Gateway 响应模拟集成的方式。为此,您可以配置方法的集成请求和集成响应,以将响应与给定的状态代码相关联。对于具有模拟集成以返回 200 响应的方法,请配置集成请求正文映射模板以返回下列内容。

{"statusCode": 200}

配置 200 集成响应以具有以下正文映射模板,例如:

{ "statusCode": 200, "message": "Go ahead without me." }

与此类似,举例而言,对于返回 500 错误响应的方法,请设置集成请求正文映射模板以返回下列内容。

{"statusCode": 500}

例如,使用以下映射模板设置 500 集成响应:

{ "statusCode": 500, "message": "The invoked method is not supported on the API resource." }

或者,您可以让模拟集成的方法返回默认集成响应,无需定义集成请求映射模板。默认集成响应是具有未定义 HTTP status regex (HTTP 状态正则表达式) 的响应。请确保设置了合适的传递行为。

注意

模拟集成并非用于支持大型响应模板。如果您的使用案例需要它们,您应该考虑改为使用 Lambda 集成。

使用集成请求映射模板,您可以注入应用程序逻辑,用来确定基于特定条件返回什么模拟集成响应。例如,您可以在传入请求上使用 scope 查询参数来确定返回成功响应还是错误响应:

{ #if( $input.params('scope') == "internal" ) "statusCode": 200 #else "statusCode": 500 #end }

这样,模拟集成的方法让内部调用通过,同时拒绝其他类型的调用并提供错误响应。

本部分介绍如何使用 API Gateway 控制台来启用 API 方法模拟集成。