

# 针对 API Gateway 中的 REST API 的模拟集成
<a name="how-to-mock-integration"></a>

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

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

**Topics**
+ [使用 API Gateway 控制台启用模拟集成](how-to-mock-integration-console.md)