API (Application Programming Interface)
ソフトウェア同士が機能やデータをやり取りするための取り決め
呼び出し側は内部実装を知らなくても、決められた形式でリクエストを送れば結果を受け取れる
マッシュアップ(複数のAPIを組み合わせること)により、APIエコノミ(APIにより、新たな価値やビジネスが生まれる経済圏)を発展させることが可能
| APIの種類 | 意味 | 代表例 |
|---|---|---|
| ステートフルAPI | サーバー側がクライアントの状態(セッション情報・接続状態など)を保持するAPI
前のリクエストの内容に依存して処理が行われる
各リクエストに処理に必要な情報をすべて含める
---
前のリクエストの内容に依存して処理が行われる
- リクエスト間で状態が引き継がれる
- サーバー側でセッション管理が必要
- スケールアウトしにくい
- セッションID(Cookie)を用いたログイン後のWeb API
- WebSocket
- FTP
- データベースのトランザクションAPI
各リクエストに処理に必要な情報をすべて含める
- 各リクエストが独立して処理される
- サーバー側でセッション管理が不要
- スケールアウトしやすい
- REST API(HTTP)
- JWTなどのトークン認証を用いたWeb API
- GraphQL(HTTP経由)
---
| API | URL |
|---|---|
| 日本の祝日 | holiday.json |
| グローバルIPアドレス | api.ipify.org |