LoginSignup
0
1

More than 1 year has passed since last update.

[今更]API Gatewayについてまとめてみた[自分用]

Last updated at Posted at 2022-12-04

API Gatewayについて自分用にまとめてみました

そもそもAPIとは何か

「Application Programming Interface」の略。
インターフェイスとは「繋ぐもの」という意味です。身近にあるものだとrightningケーブルや、USBケーブルなどもインターフェイスの1種になります。

なのでそのまま訳すと、アプリケーションとプログラミングを繋ぐものということになります。

例えばtwitterでは、最新のツイートを取得する機能などが公開されています。

利用申請などをし登録をすると、APIのベースとなるURLが用意されておりAPIキーという認証情報を指定して利用します。

サイトにtwitterのタイムラインが埋め込まれていたり、youtubeの動画をyoutube以外のサイトで再生したりなどといった用途に使うものというイメージです。

参考サイト
https://webpia.jp/application_programming_interface/

API Gatewayとは何か

上記で説明した内容のAWSバージョンと考えてもらえればイメージがしやすいかと思います。
インターネット上でAWSのリソースを使えるようにするためのものです。

API Gatewayを使うことによって簡単にAPIの作成、管理、監視などが行えます。

早速使ってみる

今回は他サービスとの連携はせずMockという固定のjsonを返すだけで設定してみます。

スクリーンショット 2022-12-04 18.36.27.png

API GatewayのコンソールからRest APIの構築を選択し任意のAPI名を入力、エンドタイプをリージョンを選択してAPiの作成をクリック

スクリーンショット 2022-12-04 18.39.20.png

まだ何もリソースのないAPIができました。リソースを作成するので「アクション」からリソースの作成を選択します。

スクリーンショット 2022-12-04 18.41.44.png

リソースの作成画面です。任意のリソース名を入力後、リソースの作成をクリック

スクリーンショット 2022-12-04 18.43.31.png

「sample」というリソースができたのでアクションからメソッドの作成を選択します。

スクリーンショット 2022-12-04 18.45.15.png

メソッドの作成画面です。「GET」を選択、Mockを選択し「保存」します。

スクリーンショット 2022-12-04 18.56.44.png

「統合レスポンス」→「マッピングテンプレート」からjson入力欄に以下のように入力します。

{
    "statusCode": 200,
    "body": {
        {
            "report_id": 5,
            "report_title" : "Hello, world"
        },
        {
            "report_id": 7,
            "report_title" : "Good morning!"
        }
    }
}

ダブルクオーテーションの部分は適宜変えても大丈夫です。

画面上部にあるメソッドの実行リンクから戻り念のためテスト実行します。

スクリーンショット 2022-12-04 19.00.59.png

レスポンス200で正常に動作しているようです。

スクリーンショット 2022-12-04 19.02.50.png

次は「アクション」からAPIのデプロイを選択します。

スクリーンショット 2022-12-04 19.04.02.png

任意のステージ名を入力してデプロイをクリックします。

スクリーンショット 2022-12-04 19.05.15.png

デプロイできました。

ここで少しハマりましたが、devステージのURLではなく以下のスクショのGETのページのURLからjsonレスポンスを受け取るようにします。

スクリーンショット 2022-12-04 19.12.41.png

インターネットを介して、レスポンスを受け取ることができました。

スクリーンショット 2022-12-04 19.14.03.png

お疲れ様でした。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1