API Gateway で REST API メソッドをセットアップする
API Gateway では、API メソッドにメソッドリクエストとメソッドレスポンスが含まれます。API メソッドをセットアップし、バックエンドのサービスへのアクセスをリクエストするためにクライアントが実行しなければならない操作を定義し、その操作によってクライアントが受け取るレスポンスを定義します。入力では、クライアント用にメソッドリクエストパラメータか該当するペイロードを選択し、実行時に必須データやオプションデータを提供できます。出力では、メソッドレスポンスステータスコード、ヘッダー、該当する本文をターゲットとして定義し、クライアントに返される前のバックエンドレスポンスデータをマッピングできます。API の動作および入出力形式に関するデベロッパーの理解を促進するために、API をドキュメント化し、無効なリクエストに関する適切なエラーメッセージを提供することができます。
API メソッドリクエストは、HTTP リクエストです。メソッドリクエストをセットアップするには、HTTP メソッド (または動詞)、API リソースへのパス、ヘッダー、該当するクエリ文字列パラメータを設定します。HTTP メソッドが POST
、PUT
、または PATCH
の場合、ペイロードも設定できます。たとえば、PetStore サンプル API を使用してペットを取得するには、GET
/pets/{petId}
の API メソッドリクエストを定義します。{petId}
は、実行時に数字をとることができるパスパラメータです。
GET /pets/1 Host: apigateway.us-east-1.amazonaws.com ...
クライアントが誤ったパスを指定すると (/pet/1
ではなく /pets/one
や /pets/1
など)、例外がスローされます。
API メソッドレスポンスは、指定のステータスコードの HTTP レスポンスです。非プロキシ統合では、メソッドレスポンスをセットアップしてマッピングの必須ターゲットまたはオプションたーげえとを指定する必要があります。これらは、統合レスポンスのヘッダーや本文を関連するメソッドレスポンスのヘッダーや本文に変換します。このマッピングは、そのまま統合を介してヘッダーまたは本文を渡す単純な ID 変換200
メソッドレスポンスに、成功した統合レスポンスがそのまま通過する例を示します。
200 OK Content-Type: application/json ... { "id": "1", "type": "dog", "price": "$249.99" }
原理上は、バックエンドからの特定のレスポンスに対応するメソッドレスポンスを定義することができます。通常、これにはあらゆる 2XX、4XX、および 5XX レスポンスが含まれます。ただし、バックエンドが返すすべてのレスポンスを前もって把握できない可能性があるため、この手順は実用的でないことがあります。実際には、1 つのメソッドレスポンスをデフォルトとして指定し、バックエンドからの不明なレスポンスやマッピングされていないレスポンスを処理することができます。デフォルトとして 500 レスポンスを指定することをお勧めします。いずれの場合も、非プロキシ統合に対してメソッドレスポンスを 1 つ以上セットアップする必要があります。そうしなければ、バックエンドでリクエストが成功した場合であっても API Gateway が クライアントに 500 のエラーレスポンスを返します。
Java SDK など厳密に型指定された SDK を API 用にサポートするには、メソッドリクエストの入力用とメソッドレスポンスの出力用のデータモデルを定義する必要があります。