
APIとは「フロントエンドとバックエンドの橋」
APIとは「フロントエンドとバックエンドの橋」
Webアプリケーションを
たとえば、ECサイトで
- フロントエンドが
「商品一覧をください」と APIに リクエストを 送る - バックエンドが
データベースから 商品データを 取得する - APIを
通じて JSON形式で フロントエンドに 返す - フロントエンドが
受け取った データを 画面に 表示する
REST APIの基本
現在の
HTTPメソッドとCRUD操作
REST APIでは、HTTPメソッドを
| HTTPメソッド | 操作 | 例 |
|---|---|---|
| GET | データの | 商品一覧を |
| POST | データの | 新しい |
| PUT / PATCH | データの | 商品情報を |
| DELETE | データの | 商品を |
エンドポイントの設計
エンドポイントとは、APIの
良い
GET /api/products— 商品一覧を取得 GET /api/products/123— ID:123の商品を 取得 POST /api/products— 新しい商品を 作成 PUT /api/products/123— ID:123の商品を 更新 DELETE /api/products/123— ID:123の商品を 削除
避けるべき
GET /api/getProducts— 動詞をURLに 含めない (HTTPメソッドで 表現する) GET /api/product— リソース名は複数形にする POST /api/products/delete/123— 操作はHTTPメソッドで 表現する
ステータスコード
APIの
| コード | 意味 | 使い方 |
|---|---|---|
| 200 | 成功 | GET、PUT、DELETEの |
| 201 | 作成成功 | POSTで |
| 400 | リクエストエラー | 入力データが |
| 401 | 認証エラー | ログインが |
| 403 | 権限エラー | アクセス権限がない |
| 404 | 見つからない | 指定したリソースが |
| 500 | サーバーエラー | サーバー側で |
API設計を
レスポンス設計のポイント
一貫性のあるレスポンス形式
APIの
一貫性がない
必要な情報を過不足なく返す
- 多すぎる
情報 — パスワードハッシュなど、フロントエンドに 不要な 情報を 返さない - 少な
すぎる — フロントエンドが情報 追加の APIリクエストを 送らないと 表示できない 状態は 避ける - ページネーション — 大量の
データは、 ページ 分割して返す
フロントエンドエンジニアが知っておくべきこと
フロントエンドエンジニアであって
なぜ必要か
- バックエンドエンジニアと共通言語で
会話 できる - APIの
仕様書を 読んで、 正しく 実装できる - 「この
APIの 設計、 使いにくいのですが」と 建設的な 提案ができる - フルスタック開発に
対応できる
フロントエンドからAPIを呼び出す際の注意点
- ローディング状態の
管理 — APIレスポンスが返るまで、 ユーザーに ローディング表示を 見せる - エラーハンドリング — APIエラーが
発生した とき、 ユーザーに 適切な メッセージを 表示する - 認証トークンの
管理 — ログインが必要な APIには、 認証情報を 付与して リクエストする
API設計は「コミュニケーション設計」
API設計は、
ゆめさくエンジニアの
フロントも
データベース設計の
未経験エンジニアが
Webエンジニアの
XSS・CSRF・SQLインジェクションを
エラーハンドリングの
本番環境で
ゆめさくエンジニアの
18ヶ月で




