针对 API Gateway 中的 REST API 的模拟集成 - Amazon API Gateway

针对 API Gateway 中的 REST API 的模拟集成

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