当記事の作成経緯
APIとは「何かと何かをつなぐもの」と曖昧な定義でしか理解できていなかった為調べた。
調べた結果を記載する為に当記事を作成する事にした。
「API」とは何の略か
「Application Programing Interface」の略
APIの概要
2つのアプリケーションやソフトウェア同士が情報をやりとりする際に使用される、プログラミング上の窓口
APIとREST APIの違い
◼︎APIとは
- アプリやサービス同士をつなぐ「窓口」を指す広い概念
- ※APIの中にREST APIがあるイメージ
- データをやりとりする仕組みやルールのこと
◼︎REST APIとは
- APIの実装方式のひとつ
- 「REST (Representational State Transfer)」という考え方に元づいたAPI
- RESTの原則
- 統一インターフェース
- HTTPメソッドを活用(GET,POSR等)
- URLでリソースを指定(例:/user/1)
- アドレス可能性
- 全てのリソースは一意のURLで表せるという考え方
- 例
- /users→全ユーザ
- /users/1→ユーザ1
- /users/1/posts→ユーザ1の投稿一覧
- ※URLを見ただけで「何にアクセスしているのか」が分かる
- 接続性
- リソース同士をリンクでつなぐという考え方
- Webページがリンクでつながっているのと同じ
- 例:
- /users/1のレスポンスJSONの中に/users/1/postsへのリンクが含まれる
- ※APIのレスポンスを辿るだけで必要な情報にアクセスできる
- スレートレス性
- サーバーはクライアントの状態を保持しない
- リクエスト毎に必要な情報を全て含めて送る(各リクエストがそれだけで完結している)
- 例:
- 悪い例:「さっきログインしたから、次のリクエストはユーザID省略が可能」
- 良い例:「毎回のリクエストに「ユーザID」や「トークン」を含める
- 統一インターフェース
- RESTの原則
◼︎例
・API全般=「人と人をつなぐ通信手段」
→電話、メール、手紙、LINEなど全部含む
・REST API=その中の「LINE」
→Webで簡単にやり取りできる便利な方法