目的
- APIについて勉強中であるが、知識として溜まってきて整理が必要なのでまとめる
- ※APIは難しいものではないので気楽に読んでいただけたら幸いである
実施環境
- ハードウェア環境(下記の二つの環境で確認)
項目 | 情報 |
---|---|
OS | macOS Catalina(10.15.3) |
ハードウェア | MacBook Pro (16-inch ,2019) |
プロセッサ | 2.6 GHz 6コアIntel Core i7 |
メモリ | 16 GB 2667 MHz DDR4 |
グラフィックス | AMD Radeon Pro 5300M 4 GB Intel UHD Graphics 630 1536 MB |
- ソフトウェア環境
項目 | 情報 | 備考 |
---|---|---|
PHP バージョン | 7.4.3 | Homwbrewを用いて導入 |
Laravel バージョン | 7.0.8 | commposerを用いて導入 |
MySQLバージョン | 8.0.19 for osx10.13 on x86_64 | Homwbrewを用いて導入 |
そもそもLaravelAPI(APIサーバ)って??
-
指定のURLなどのリクエストをAPIサーバに送るとURLに紐づけられた情報がレスポンスとして得られるサーバの事である。
-
主に自分の様な初学者のみなさんの勉強しているLaravelはそのLaravelアプリ内でブラウザ表示まで完結しているものがほとんどである。
-
初学者のみなさんが勉強するLaravelアプリはリクエストに対してビューなどの「綺麗に見せるためのデータ」も含めてレスポンスとして返却している。
-
APIとはリクエストに対してその「綺麗に見せるためのデータ」を省き、DBに格納された文字列や数値、ステータスコードのみを返却するものである。
-
「リクエストをもらう」 → 「Laravelフレームワーク内で処理する」 → 「レスポンスを返す」という流れはAPIも一緒である。(この記事で最悪これさえ理解できていればOK!)
-
下記にLaravelアプリ(初学者のみなさんが最初に勉強するもの)の処理の簡易図を記載する。
-
下記にLaravelAPIの処理の簡易図を記載する。
LaravelをAPIとして使用した際のレスポンスのデータ
-
レスポンスとして得られるデータはJSONというデータフォーマットを用いる。
-
ビューなどのデータが含まれないデータだけがLaravelのAPIから返却される。
-
下記に今の段階での情報でのLaravelAPIの処理の簡易図を記載する。
APIのレスポンスを確認できるアプリ
- 「スマホアプリなどがないとLaravelAPIの勉強できないんじゃない?」と感じたと思う。
- 「スマホアプリなど」の役割をしてくれるPC用アプリケーションがある。
- 下記のPostmanというアプリを使用することにより、LaravelAPIにリクエストを送ることができる。