Web API とは
API(Application Programming Interface)とはソフトウェアコンポーネントの外部インターフェース。機能はわかっているけど、その中身の具体的な処理は知らない機能の塊を外部から呼び出すための仕様。
Web API は「HTTPプロトコルを利用してネットワーク越しに呼び出すAPI」
プロトコルとしてHTTPを使うためエンドポイントはURIで指定する。
メモ
歴史を振り返ると色々なWeb APIがあるが、現在は、URI にアクセスするとJSONを返す「JSON over HTTP」のことを指して Web API と言われることが多い。
REST
Re
presentational S
tate T
ransferの略で REST
RESTは仕様策定されたものではなくて、Web API を作るときのルールセット、ガイドライン、設計原則のようなもの。
RESTに沿って作られたWeb API を RESTful APIと呼ぶ。
RESTful APIの特徴・原則は
- URIを使用してリソースを識別し、リソースにアクセスする
- リソースは名詞でグループ化する(
/users
)。動詞は✕(/getUsers
)
- リソースは名詞でグループ化する(
- HTTPメソッド(GET、POST、PUT、DELETEなど)を使用してリソースを作成、取得、更新、削除する
- ユ−ザー作成
POST /users
- ユーザー取得
GET /users
orGET /users/:id
- ユーザー更新
PUT /users/:id
- ユーザー削除
DELETE /users/:id
- ユ−ザー作成
- APIの結果はHTTPステータスコードで表す
- 200系→成功
- 400系→リクエストorリソースの状態が何か悪い
- 500系→サーバーで何か異常が発生した
- クライアントとサーバー間の通信が状態を持たない状態で行う(ステートレス)
- 全てのリクエスト/レスポンスは独立しているべき
- この原則のため、RESTful API はシンプル、スケーラビリティが高いと言われる