Amazon API Gateway
開発者ガイド

API Gateway コンソールを使用してモック統合を有効にする

メソッドが API Gateway で使用可能であることが必要です。HTTP カスタム統合で API をビルドするの手順に従います。

  1. API リソースを選択してメソッドを作成します。メソッドの [Setup (設定)] ペインで、[統合タイプ] に [Mock] を選択してから、[保存] を選択します。

  2. [メソッドの実行] から [メソッドリクエスト] を選択します。[URL クエリ文字列パラメータ] を展開します。[クエリ文字列の追加] を選択して、scope クエリパラメータを追加します。これは呼び出し元が内部かどうかを決定します。

  3. [メソッドの実行] から [統合タイプ] を選択します。[本文マッピングテンプレート] を展開します。[application/json] マッピングテンプレートを選択または追加します。 template] エディターで以下のように入力します。

    { #if( $input.params('scope') == "internal" ) "statusCode": 200 #else "statusCode": 500 #end }

    [Save] を選択します。

  4. [メソッドの実行] から [統合レスポンス] を選択します。[200] レスポンス、[本文マッピングテンプレート] セクションの順に展開します。application/json マッピングテンプレートを選択または追加し、テンプレートエディタで次のレスポンスの本文マッピングテンプレートを入力します。

    { "statusCode": 200, "message": "Go ahead without me" }

    [Save] を選択します。

  5. [統合レスポンス] までスクロールします。[統合レスポンスの追加] を選択して、500 レスポンスを追加します。[HTTP status regex (HTTP ステータスの正規表現)] に 5\d{2} を入力します。[本文マッピングテンプレート] を展開し、[マッピングテンプレートの追加] を選択します。[Content-Type] に application/json と入力し、チェックマークアイコンを選択して設定を保存します。テンプレートエディタで、次の統合レスポンスの本文マッピングテンプレートを入力します。

    { "statusCode": 500, "message": "The invoked method is not supported on the API resource." }

    [Save] を選択します。

  6. [メソッドの実行] から [テスト] を選択します。次の作業を行います。

    1. [スコープ] で、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"}
    2. publicscope と入力するか、空白のままにします。[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 サポートを有効にする方法です。