ヤマムギ

growing hard days.

*

Amazon API Gatewayでモックを作る

   

超シンプルなAPI Gatewayのサンプルがほしかったので、ユーザーガイドの手順でモックを作りました。

手順はこちらです。
Amazon API Gateway でモック統合を使用して REST API を作成する

APIの作成

API Gatewayコンソールで[APIの作成]ボタンを押下して、REST APIを選択して、[構築]ボタンを押下しました。

[新しいAPI]のまま、[API名]に任意の名前を入力して、[APIの作成]ボタンを押下しました。

APIができましたので、[アクション]-[メソッドの作成]で[GET]を選択してチェックして作成します。
統合タイプで[Mock]を選択して、[保存]ボタンを押下しました。

APIにGETメソッドが作成できました。

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

[メソッドリクエスト]を選択して設定をします。

[クエリ文字列の追加]リンクを選択して、クエリ文字列を追加します。
myParamと入力して、チェックマークを押下して保存しました。

[メソッドの実行]リンクを選択して、メソッド設定画面へ戻ります。

統合リクエストの設定

[統合リクエスト]を選択して設定をします。

[マッピングテンプレート]を展開して、Content-Typeですでに設定されている、application/json を選択します。
リクエスト内容を以下に書き換えます。

リクエストクエリのmyParamがmyValueのときに、statusCode 200を送信するリクエストを定義しています。
本来であれば、APIリクエストによって実行されるバックエンドの処理によって、成功であれば200、エラーの場合は500などのレスポンスになりますが、今回はモックを作っているので、リクエストによってコードを送信しています。

[保存]ボタンを押下しました。

[メソッドの実行]リンクを選択して、メソッド設定画面へ戻りました。

メソッドレスポンスの設定

[メソッドレスポンス]を選択して設定しました。

[レスポンスの追加]リンクを選択して、500を入力してチェックマークで保存しました。

[メソッドの実行]リンクを選択して、メソッド設定画面へ戻りました。

統合レスポンスの設定

[統合レスポンス]を選択して設定しました。

200レスポンスを展開して、マッピングテンプレートを選択して、application/jsonを選択して、テンプレートの内容を以下にしました。

ステータスコードが200の成功時に返すメッセージを定義しています。

[保存]ボタンを押下しました。

200レスポンスのセクションを省略しました。

[統合レスポンスの追加]リンクを選択しました。

HTTPステータスの正規表現に “5\d{2}” と入力しました。
メソッドレスポンスステータスで 500 を選択しました。
[保存]ボタンを押下しました。

追加した500レスポンスを展開して、マッピングテンプレートで application/json を入力し、内容を以下にしました。

[保存]ボタンを押下しました。

[メソッドの実行]リンクを選択して、メソッド設定画面へ戻りました。

テストを実行

[テスト]を選択してテストを実行します。

[クエリ文字列]に “myParam=myValue” と入力して、[テスト]ボタンを押下しました。
正常に実行されたレスポンスがレスポンス本文に表示されました。

[クエリ文字列]に適当な文字列を設定して、[テスト]ボタンを押下しました。
レスポンス本文にエラーレスポンスが表示されました。

デプロイしてテストする

[アクション]-[APIのデプロイ]を選択しました。
[デプロイされるステージ]は”新しいステージ”にして、ステージ名は任意の値にして、[デプロイ]ボタンを押下しました。

[ステージ]にprodが作成されているので、URL呼び出しリンクをブラウザのURLバーに貼り付けて、後ろにパラメータ “?myParam=myValue” を付加しました。

GETリクエストの結果が表示されました。
成功です!

例えば連携先のAPIが開発中のときなど、仕様に基づいてモックを作っておいて、連携テストを進めておくなど、便利に使えます。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

ad

ad

  関連記事

API Gateway Lambdaプロキシ統合で渡されるリクエストを確認しました

API Gatewayの統合リクエストでLambdaを指定するときにプロキシ統合 …

kintoneに登録されたアカウントの電話番号にGoogleカレンダーの予定をAmazon Pollyが読み上げてTwilioから電話でお知らせする(AWS Lambda Python)

Google Calendar Twilio Reminder Googleカレ …

RocketChatからOutgoing Webhookで呼び出されたAPI Gatewayでtokenをリクエスト検証する

本来はWAFでやったほうがよさそうですが、追加料金を発生させたくない場合にAPI …

静的と動的って何ですか?と営業さんに聞かれたので端的に説明してみました

AWS認定クラウドプラクティショナーの勉強をしている営業さんに、「S3で静的オブ …

VPC環境でLambdaを100同時実行してプライベートIPアドレスを確認した

2019年9月発表のLambda 関数が VPC 環境で改善されます以降に、VP …

AWS Storage Gateway File Gateway on EC2インスタンスにmacOSからNFS接続

S3バケットの作成 S3バケットはあらかじめ作成しておきました。 マネジメントコ …

AWS Organizations SCPで許可ポリシーの設定をし継承の関係を確認する

ユーザーガイドのサービスコントロールポリシーの例にはDeny(拒否)ばっかりでA …

EC2 Auto Recovery機能を設定しておいた

以前EC2インスタンスのリタイア対象になったこともあり、というより、やっておいて …

AWSのアカウントを新規作成と、最低限やっておいた方がいいMFAの設定

AWSのアカウントを新規作成する手順を書き出しておきます。 ※2017年8月6日 …

特定AWSアカウント特定リージョンのSNSトピックを削除するLambda(Python)

やりたいこと 特定アカウント内特定リージョン内のSNSトピックを全部削除したいで …