REST API design patterns including resource naming, status codes, pagination, filtering, error responses, versioning, and rate limiting for production APIs.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
REST API design patterns including resource naming, status codes, pagination, filtering, error responses, versioning, and rate limiting for production APIs.
origin
ECC
API Design Patterns
一貫性があり開発者フレンドリーな REST API を設計するための規約とベストプラクティスです。
起動条件
新しい API エンドポイントを設計する場合
既存の API コントラクトをレビューする場合
ページネーション、フィルタリング、ソートを追加する場合
API のエラーハンドリングを実装する場合
API バージョニング戦略を計画する場合
パブリックまたはパートナー向け API を構築する場合
Resource Design
URL 構造
# リソースは名詞、複数形、小文字、kebab-case
GET /api/v1/users
GET /api/v1/users/:id
POST /api/v1/users
PUT /api/v1/users/:id
PATCH /api/v1/users/:id
DELETE /api/v1/users/:id
# リレーションシップのためのサブリソース
GET /api/v1/users/:id/orders
POST /api/v1/users/:id/orders
# CRUD にマッピングされないアクション(動詞は控えめに使用)
POST /api/v1/orders/:id/cancel
POST /api/v1/auth/login
POST /api/v1/auth/refresh
{"error":{"code":"validation_error","message":"Request validation failed","details":[{"field":"email","message":"Must be a valid email address","code":"invalid_format"},{"field":"age","message":"Must be between 0 and 150","code":"out_of_range"}]}}
# 単純な等価
GET /api/v1/orders?status=active&customer_id=abc-123
# 比較演算子(ブラケット表記を使用)
GET /api/v1/products?price[gte]=10&price[lte]=100
GET /api/v1/orders?created_at[after]=2025-01-01
# 複数値(カンマ区切り)
GET /api/v1/products?category=electronics,clothing
# ネストされたフィールド(ドット表記)
GET /api/v1/orders?customer.country=US
ソート
# 単一フィールド(降順はプレフィックス -)
GET /api/v1/products?sort=-created_at
# 複数フィールド(カンマ区切り)
GET /api/v1/products?sort=-featured,price,-created_at
全文検索
# 検索クエリパラメータ
GET /api/v1/products?q=wireless+headphones
# フィールド固有の検索
GET /api/v1/users?email=alice
Sparse Fieldsets
# 指定されたフィールドのみ返す(ペイロードを削減)
GET /api/v1/users?fields=id,name,email
GET /api/v1/orders?fields=id,total,status&include=customer.name
認証と認可
トークンベース認証
# Authorization ヘッダーに Bearer トークン
GET /api/v1/users
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
# API キー(サーバー間通信用)
GET /api/v1/data
X-API-Key: sk_live_abc123