AgentSkillsCN

api-design

API 设计——REST/GraphQL 设计原则、版本管理、错误处理、文档编写

SKILL.md
--- frontmatter
name: api-design
description: API設計 - REST/GraphQL設計原則、バージョニング、エラーハンドリング、ドキュメント
requires-guidelines:
  - common

API設計

使用タイミング

  • API設計時(新規エンドポイント追加)/ APIレビュー時 / ドキュメント作成時

レビュー観点

🔴 Critical(修正必須)

観点検出パターン対策
リソース設計違反動詞ベースURL (/createUser)リソース名詞 + HTTPメソッド
ステータスコード誤用エラーでも200返却適切なステータスコード
エラー形式未統一バラバラなJSON構造RFC 7807 Problem Details

🟡 Warning(要改善)

観点検出パターン対策
バージョニング未実装/api/users 固定/api/v1/users or ヘッダー
ページネーション不足全件取得カーソルベースページネーション
レート制限なし認証APIに制限なしexpress-rate-limit等

コード例が必要な場合: Context7で「REST API design」「GraphQL best practices」を検索


REST API パターン

リソース設計

パターンURLメソッド用途
コレクション/usersGET/POST一覧/作成
単一リソース/users/123GET/PUT/PATCH/DELETECRUD
サブリソース/users/123/postsGET関連取得

ステータスコード

コード用途
200/201/204成功系
400/401/403/404クライアントエラー
409/422/429競合/処理不可/レート超過
500サーバーエラー

GraphQL パターン

観点ベストプラクティス
スキーマ明確な命名・型定義
ページネーションConnection pattern
N+1問題DataLoader使用

チェックリスト

REST: リソースベースURL / 適切なステータス / エラー統一 / バージョニング / ページネーション / レート制限

GraphQL: 明確なスキーマ / Null許容設定 / DataLoader / Connection pattern

共通: 認証・認可 / CORS / OpenAPI/GraphQLドキュメント / セキュリティヘッダー


出力形式

code
🔴 Critical: エンドポイント - 問題 - 修正案
🟡 Warning: エンドポイント - 問題 - 改善案
📊 Summary: Critical X件 / Warning Y件

外部リソース

  • Context7: OpenAPI 3.x、GraphQL公式、Google/Microsoft API Design Guide、RFC 7807
  • Serena memory: プロジェクト固有のAPI規約・バージョニング戦略