5分で作るAPI Gatewayのモック

9月 14, 2020APIGateway,AWS

概要

  • API Gatewayを使えば、簡単にREST API の開発、公開が可能です。今回は、API Gatewayでバックエンドは使用せず、とりあえずのモックを作る方法を説明します。
  • 例えばLambdaなどバックエンドとなるプロダクトを別の方が担当、未だデプロイできないなどの理由で、先ずAPI だけを作り、APIを呼び出すためのURL を決めたり、Resource Policyなど一部の設定を進めることが可能です。
 

API Gatewayのモックを作る

  • API Gateway のコンソールを開き、プロトコルに「REST」、APIに「New API」、SettingsのAPI nameにAPI名、Endpoint Typeに「Regional」or 「Edge optimized」を選択します。(Endpoint Typeは後から変更できませんので、ご注意ください)
    • エッジ最適化 API エンドポイントは、地理的に分散されたクライアントに最適なエンドポイントであり、デフォルトのエンドポイントタイプです。APIリクエストは、最寄りのCloudFrontエッジにルーティングされます。
    • リージョン API エンドポイントは、同じリージョンのクライアントを対象とします。
 
  • メソッドを作成します。[Actions]から[Create Method]を選択します。
   
  • [Resources]ペインにて、メソッドにGET あるいはPOST(実際の要件に合わせて選択)を選択します。次に、Integration type に「Mock」を選択します。
   
  • [Resources]ペインの作成したメソッドの [Method Execution] ペインにて、[Integration Response] を選択します。
 
  • モックには、HTTPステータスに200 OK を返すレスポンスがデフォルトで準備されています。今回は、さらにこのレスポンスのBodyをカスタマイズします。
  • レスポンスのMapping Templatesを開き、Content-Typeのapplication/json に、下記のjson を貼り付けます。

{"statusCode": 200, "body": "\"Hello World!\""}
 
  • APIをデプロイします。[Actions]から[Deploy API]を選択します。
   
  • Deployment stageにデプロイするステージ(今回は[New Stage])、Stage nameにステージ名(今回はdev)を設定し、デプロイを行います。
   
  • 下記の通り、APIをコールするためのURL ができました。
     

モックAPIをテストする

  • curlコマンドで、作成したモックAPI をテストします。200 OK およびカスタマイズしたBodyが返ることを確認します。
 

niikawa@niikawa1:~$ curl https://xxxxxxn1ba.execute-api.ap-northeast-1.amazonaws.com/dev
{"statusCode": 200, "body": "\"Hello World!\""}
 

参考資料

  • API Gatewayの概念と用語は、下記ドキュメントから読み始めます。
  • もう少し詳しく知りたくなった時。