📌
APIの方式をまとめてみた
APIにはいくつかの方式があります。
代表的なものを整理しました。
REST
最も一般的なAPI設計スタイル。
HTTPの動詞を活用して、GET(取得)、POST(作成)、PUT/PATCH(更新)、DELETE(削除)を使い分けます。
リソースごとにエンドポイントを用意するのが基本です(例: /users/123)。
特徴
- シンプルで広く普及
- 設計の自由度が高い(品質は設計者次第)
JSON:API
RESTをベースにした規約(フォーマットの標準化)。
レスポンスやエラーの形を統一できます。
特徴
- RESTのバラつきを減らせる
- フロントエンド開発者に優しい
- Laravelなどでライブラリも存在
SOAP
XMLベースの古いAPI規格。
WSDLという定義ファイルで型や操作を厳密に定義します。
特徴
- 金融や基幹系システムで今も利用される
- 機能は強力だが扱いは重い
- 新規開発ではほぼ選ばれない
gRPC
Googleが開発したRPCフレームワーク。
HTTP/2とProtocol Buffersを利用し、.proto ファイルでインターフェースを定義します。
特徴
- 高速かつ型安全
- 双方向ストリーミングに強い
- マイクロサービス間通信に適している
GraphQL
Facebookが開発したクエリ言語ベースのAPI。
クライアントが「欲しいデータだけ」を指定できます。
特徴
- Overfetch / Underfetch を解消
- スキーマが強力で自動ドキュメント化しやすい
- 実装やキャッシュ戦略は少し難しい
まとめ
- REST: 最も普及している基本形
- JSON:API: RESTの標準化版
- SOAP: レガシーだけど金融・基幹系で現役
- gRPC: 高速・マイクロサービス向け
- GraphQL: 柔軟なデータ取得が必要なフロント向け
Discussion