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

API Gateway メソッドリクエストの設定

API Gateway コンソールを使用して API のメソッドリクエスト/応答を定義し、さらにメソッドがリクエストを認証する方法を定義するには、以下の手順に従います。

注記

これらの手順は、すでに「API Gateway 統合リクエストの設定 」のステップを完了していることを前提としています。

  1. [Resources] ペインで選択したメソッドの [Method Execution] ペインで [Method Request] を選択します。

  2. メソッドにカスタムのアクセス権限を割り当てるには、[Authorization Settings] エリアの [Authorization Type] で、[Edit]、[AWS_IAM] の順に選択します。適切な IAM ポリシーがアタッチされた IAM ロールだけが、このメソッドを呼び出すことができます。メソッドにアクセス権限を割り当てない場合は、[NONE] を選択します。

    • IAM ロールを作成するには、以下のような形式のアクセスポリシーを指定します。

      Copy
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "resource-statement" ] } ] }

      このアクセス ポリシーでは、resource-statement は[Authorization Settings] セクションの [ARN] フィールドの値です。

    IAM ロールを作成する目的で、Lambda 関数を公開するための API を作成する の「Lambda 関数を作成する」の「Lambda 呼び出しロールとそのポリシーを作成する」と「Lambda 実行ロールとそのポリシーを作成する」の手順を適用できます。

    選択肢を保存するには、[Update] を選択します。それ以外の場合は、[Cancel] を選択します。

  3. クエリ文字列パラメータをメソッドに追加するには、以下の操作を実行します。

    1. [URL Query String Parameters] の横の矢印を選択した後、[Add query string] を選択します。

    2. [Name] に、クエリ文字列パラメータの名前を入力します。

    3. [Create a new query string] を選択します。

    注記

    クエリ文字列パラメータを削除するには、[Cancel] または [Remove] を選択します。

    クエリ文字列パラメータの名前を変更するには、削除して新しいものを作成する必要があります。

  4. メソッドにヘッダーパラメータを追加するには、以下の操作を実行します。

    1. [HTTP Request Headers] の横の矢印を選択した後、[Add header] を選択します。

    2. [Name] にヘッダーパラメーターの名前を入力します。

    3. オプションで [Caching] オプションを確認して、このメソッドを API キャッシュキーにします。詳細については、「メソッド/統合パラメーターをキャッシュキーとして使用する」を参照してください。

    4. [Create] を選択します。

    ヒント

    ヘッダーパラメータを削除するには、[Cancel] または [Remove] を選択します。

    ヘッダーパラメータの名前を変更するには、古いヘッダーパラメータを削除して代わりに新しいものを作成する必要があります。

  5. GET 以外のメソッドタイプでは [Request Models] を展開し、[Content Type] と [Model name] では、コンテンツタイプを入力し、発信者が提供するデータを必要な形式に変換するモデルの名前を選択します。

    モデルの作成については、「モデルを作成する」を参照してください。

  6. カスタム応答ヘッダーのセット、カスタム応答データ形式、またはその両方を送信するには、メソッドから返された HTTP ステータスコードに基づいて発信者に戻り、以下の操作を行います。

    1. [Method Execution] ペインで、[Method Response] を選択します。デフォルトでは、メソッドの応答には 200 応答が含まれています。これを修正して、メソッドが 201 を返すように設定できます。さらに、アクセス拒否の 409や、初期化されていないステージ変数が使用されている場合の 500 など、その他の応答を追加することもできます。[200] の横の矢印アイコンを選択して 200 応答の設定を指定するか、[Add Response] を選択してその他の任意の HTTP 応答ステータスコードの設定を指定します。[Add Response] を選択する場合は、[HTTP Status] で応答を選択して [Create] を選択した後、応答の横の矢印を選択します。

      ヒント

      API に対して使用可能なすべての応答コードを指定するには [Method Response] を使用し、バックエンドのエラーを HTTP ステータスコードにマッピングする方法を API Gateway に示すには [Integration Response] を使用します。

    2. 応答に含める各カスタムヘッダーについて、[Response Headers] エリアで [Add Header] を選択し、ヘッダーの名前を入力してから [Save] を選択します ([Remove] を選択してリストからヘッダーを削除します)。

      出力データの形式を変換するための応答モデルを指定するには、[Response Models] エリアで [Add Response Model] を選択します。[Content type] にコンテンツタイプを入力し、[Models] にモデルの名前を入力した後、[Save] を選択します。[Add Response Model] を選択して追加モデルを指定するか、[Create a model] を選択して新しいモデルを定義します ([Remove] を選択してリストから選択した応答モデルを削除します)。