メニュー
Amazon API Gateway
開発者ガイド

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

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

  1. API リソースを選択してメソッドを作成します。メソッド [Setup] ペインで、[Integration type] に [Mock] を選択してから、[Save] を選択します。

  2. [Method Execution] から [Method Request] を選択します。[URL Query String Parameters] を展開します。[Add query string] を選択して、scope クエリパラメータを追加します。これは呼び出し元が内部かどうかを決定します。

  3. [Method Execution] から [Integration Request] を選択します。[Body Mapping Templates] を展開します。[application/json] マッピングテンプレートを選択または追加します。 template] エディターで以下のように入力します。

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

    [Save] を選択します。

  4. [Method Execution] から [Integration Response] を選択します。[200] レスポンス、[Body Mapping Templates] セクションの順に展開します。application/json マッピングテンプレートを選択または追加し、テンプレートエディタで次のレスポンスの本文マッピングテンプレートを入力します。

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

    [Save] を選択します。

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

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

    [Save] を選択します。

  6. [Method Execution] から [Test] を選択します。次の作業を行います。

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