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 方法模拟集成。