share facebook facebook twitter menu hatena pocket slack

2020.02.13 THU

5分で作るAPI Gatewayのモック

新川 貴章

WRITTEN BY 新川 貴章

概要

  • 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の概念と用語は、下記ドキュメントから読み始めます。
  • もう少し詳しく知りたくなった時。
先日 (2019/5/14) 開催しました AWS Black Belt Online Seminar「Amazon API Gateway」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20190514 AWS Black Belt Online Seminar Amazon API Gateway from Amazon Web Ser...

元記事はこちら

5分で作るAPI Gatewayのモック

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。