

# API Gateway での REST API の Mock 統合
<a name="how-to-mock-integration"></a>

Amazon API Gateway は、API メソッドのモック統合をサポートしています。この機能により、API デベロッパーはバックエンドを統合することなく、API Gateway から直接 API レスポンスを生成できます。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)