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

API Gateway の単純な電卓の API

Amazon の単純な電卓の API では、3 つのメソッド (GET、POST、GET) を公開して 単純な電卓の Lambda 関数 (Calc) を呼び出します。この API を図に示すと次のようになります。

この 3 つのメソッドは方法は異なりますが、バックエンドの Lambda 関数に入力を渡して同じ操作を行います。

  • GET /?a=...&b=...&op=... メソッドは、クエリパラメーターを使用して入力を指定します。

  • POST /? メソッドは、{"a":"Number", "b":"Number", "op":"string"} の JSON ペイロードを使用して入力を指定します。

  • GET /{a}/{b}/{op} メソッドは、パスパラメーターを使用して入力を指定します。

この API に対して API Gateway で生成された SDK を使用してこれらのメソッドを 呼び出す方法を示す前に、メソッドの設定方法を簡単に再確認しましょう。詳細な手順については、「API の作成」を参照してください。API Gateway を初めて使用する場合は、まず ご利用開始にあたって を参照してください。

入力と出力のモデルの作成

SDK で厳密に型指定された入力を指定するには、API の Input モデルを作成します。

同様に、レスポンス本文のデータ型を記述するには、API Gateway で以下のモデルを作成します。

Copy
{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "c": {"type":"number"} }, "title": "Output" }

および

Copy
{ "$schema": "http://json-schema.org/draft-04/schema#", "type":"object", "properties":{ "input":{ "$ref":"https://apigateway.amazonaws.com/restapis/t7dve4zn36/models/Input" }, "output":{ "$ref":"https://apigateway.amazonaws.com/restapis/t7dve4zn36/models/Output" } }, "title":"Result" }

GET / メソッドのクエリパラメーターの設定

GET /?a=..&b=..&op=.. メソッドのクエリパラメーターは [Method Request] で宣言します。

バックエンドへの入力としてペイロードのデータモデルを設定

POST / メソッドについては、Input モデルを作成し、それをメソッドリクエストに追加して入力データの形式を定義します。

API のユーザーは、このモデルを使って Result オブジェクトのプロパティを読み取ることで、正常な出力を解析できます。このモデルがないと、JSON 出力を表すためにディクショナリオブジェクトを作成することが必要になります。

バックエンドからの結果出力のデータモデルの設定

3 つすべてのメソッドで、Result を作成し、それをメソッドの Method Response に追加して Lambda 関数から返される出力の形式を定義します。

API のユーザーは、このモデルを使用して Input オブジェクトをインスタンス化することで、SDK を呼び出して入力を指定できます。このモデルがないと、Lambda 関数への JSON 入力を表すためにディクショナリオブジェクトを作成することが必要になります。

また、Swagger API の定義に従って API を作成して設定することもできます。