AWS API GatewayのREST APIでモックを作成する
はじめに
今回は、AWS APIGatewayのモック統合を使用したモックAPIの作成方法をご紹介したいと思います。
APIを作成する
Amazon API Gatewayコンソールで「APIの作成」ボタンをクリックします。

「REST API」の「構築」ボタンをクリックします。

適当なAPI名を入力し、「APIの作成」ボタンをクリックします。

「アクション」ー「メソッドの作成」を選択します。

プルダウンから任意のメソッド(今回はGET)を選択し、プルダウン右側のチェックマークをクリックします。

「統合タイプ」から「Mock」を選択し、「保存」ボタンをクリックします。

モックのセットアップ
モックのセットアップをしていきます。今回は、クエリ文字列「param」の値によって異なるレスポンスを返すモックを作成しようと思います。
まずは、メソッドリクエストからクエリ文字列を追加します。「メソッドリクエスト」をクリックします。

「クエリ文字列の追加」をクリックします。

名前欄に「param」と入力し、右側のチェックマークをクリックします。

次に、クエリ文字列「param」をレスポンスのHTTPステータスコード値にマッピングするマッピングテンプレートを作成します。
「統合リクエスト」を選択します。

「マッピングテンプレート」を展開し、「リクエスト本文のパススルー」を「テンプレートが定義されていない場合(推奨)」に変更します。

「Content-Type」から「application/json」を選択します。

テンプレートに下記のコードを入力し、「保存」ボタンをクリックします。
#if($input.params("param") == "200")
{"statusCode": 200}
#else
{"statusCode": 500}
#end
ここでは、$input.paramsでクエリ文字列を取得し、その値によって返却するHTTPステータスコードを変えています。そのほかにもいろいろな値を取得して処理を記載することができます。詳細は下記公式ドキュメントをご参照ください。
API Gateway マッピングテンプレートとアクセスのログ記録の変数リファレンス
次に、クライアントに返却するHTTPステータスコードを定義します。既定では200のみ定義されているので、今回は500を追加します。
「メソッドレスポンス」を選択します。

「レスポンスの追加」をクリック後、「500」を入力し、右側のチェックマークをクリックします。

最後に、クライアントに返すレスポンスメッセージを定義します。
「統合レスポンス」を選択します。

「メソッドレスポンスのステータス」が「200」の行を展開し、「マッピングテンプレート」セクションの「Content-Type」から「application/json」を選択します。

テンプレートに下記コードを入力し、「保存」ボタンをクリックします。
{
"statusCode": 200,
"message": "Hello from API Gateway!"
}
画面下の「統合レスポンスの追加」をクリックし、500のステータスを返す統合レスポンスを追加します。各項目を入力し、「保存」ボタンをクリックします。

「メソッドレスポンスのステータス」が「500」の行を展開し、「マッピングテンプレート」セクションの「Content-Type」から「application/json」を作成します。

テンプレートに下記コードを入力し、「保存」ボタンをクリックします。
{
"statusCode": 500,
"message": "This is an error message."
}
設定は以上です。動作確認してみましょう。
動作確認
「テスト」を選択します。

まずは、正常系から。クエリ文字列欄に「param=200」を入力し、「テスト」ボタンをクリックします。

以下のとおり、定義したメッセージが返ってきました!

次に異常系です。クエリ文字列欄に「param=500」を入力し、「テスト」ボタンをクリックします。

500のエラーメッセージも無事返ってきました!

以上です。
参考
Amazon API Gateway でモック統合を使用して REST API を作成する
投稿者プロフィール

- 東京在住のフリーランスエンジニア
最新の投稿
AWS2020.11.05AWS CLI コマンドまとめ ~S3編~
AWS2020.11.02AWS コマンドラインインターフェイス(CLI)をインストールする~Windows編~
その他2020.10.30Chromeでクロスドメインiframe内の要素にアクセスする
AWS2020.10.29AWS API GatewayのREST APIでモックを作成する