API Gateway コンソールを使用したモック統合の有効化
メソッドが API Gateway で使用可能であることが必要です。「チュートリアル: HTTP 非プロキシ統合を使用して REST API をビルドする」の手順に従います
-
API リソースを選択し、[メソッドを作成] を選択します。
メソッドを作成するには、次の操作を行います。
[メソッドタイプ] で、メソッドを選択します。
[統合タイプ] で、[Mock] を選択します。
[メソッドの作成] を選択します。
[メソッドリクエスト] タブの [メソッドリクエストの設定] で、[編集] を選択します。
-
[URL クエリ文字列パラメータ] を選択します。[クエリ文字列を追加] を選択し、[名前] に「
scope
」と入力します。このクエリパラメータは、呼び出し元が内部かどうかを決定します。 -
[Save] を選択します。
-
[メソッドレスポンス] タブで [レスポンスを作成] を選択し、次の操作を行います。
-
[HTTP ステータス] に「
500
」と入力します。 [Save] を選択します。
-
-
[統合リクエスト] タブの [統合リクエストの設定] で、[編集] を選択します。
-
[マッピングテンプレート] を選択し、次の操作を行います。
[マッピングテンプレートの追加] を選択します。
[コンテンツタイプ] に、「
application/json
」と入力します。[テンプレート本文] で次のように入力します。
{ #if( $input.params('scope') == "internal" ) "statusCode": 200 #else "statusCode": 500 #end }
[Save] を選択します。
-
[統合レスポンス] タブの [デフォルト - レスポンス] で、[編集] を選択します。
-
[マッピングテンプレート] を選択し、次の操作を行います。
[コンテンツタイプ] に、「
application/json
」と入力します。[テンプレート本文] で次のように入力します。
{ "statusCode": 200, "message": "Go ahead without me" }
[Save] を選択します。
-
[レスポンスの作成] を選択します。
500 レスポンスを作成するには、次の操作を行います。
-
[HTTP status regex (HTTP ステータスの正規表現)]に「
5\d{2}
」と入力します。 [メソッドレスポンスのステータス] で、[
500
] を選択します。[Save] を選択します。
-
[5\d{2} - レスポンス] で、[編集] を選択します。
[マッピングテンプレート]、[マッピングテンプレートの追加] の順に選択します。
[コンテンツタイプ] に、「
application/json
」と入力します。[テンプレート本文] で次のように入力します。
{ "statusCode": 500, "message": "The invoked method is not supported on the API resource." }
[Save] を選択します。
-
-
[テスト] タブを選択します。タブを表示するには、右矢印ボタンを選択する必要がある場合があります。Mock 統合をテストするには、次の操作を行います。
-
[クエリ文字列] に「
scope=internal
」と入力します。[Test (テスト)] を選択します。テストの結果が表示されます。Request: /?scope=internal Status: 200 Latency: 26 ms Response Body { "statusCode": 200, "message": "Go ahead without me" } Response Headers {"Content-Type":"application/json"}
-
Query strings
に「scope=public
」と入力するか、空白のままにします。[Test (テスト)] を選択します。テストの結果が表示されます。Request: / Status: 500 Latency: 16 ms Response Body { "statusCode": 500, "message": "The invoked method is not supported on the API resource." } Response Headers {"Content-Type":"application/json"}
-
また、メソッドレスポンスにヘッダーを追加してから、統合レスポンスでヘッダーマッピングを設定することによって、モック統合レスポンスでヘッダーを返すこともできます。実際に、これは API Gateway コンソールで CORS の必要なヘッダーを返すことによって CORS サポートを有効にする方法です。