技能 api-design-principles
📦

api-design-principles

安全

直感的��スケーラブルなAPIを設計する

也可从以下获取: wshobson

一貫した設計原則なしにAPIを構築すると、混乱を招くインターフェースと貧弱な開発者体験につながります。このスキルは、保守可能で文書化されたAPIを作成するための実証済みのRESTおよびGraphQLパターンを提供し、ニーズに合わせてスケールできるようにします。

支持: Claude Codex Code(CC)
🥈 78 白银
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“api-design-principles”。 eコマース商品カタログのエンドポイントを設計

预期结果:

  • GET /api/v1/products - 商品をページネーション付きで一覧表示
  • GET /api/v1/products/{id} - 商品詳細を取得
  • POST /api/v1/products - 商品を作成(管理者のみ)
  • PUT /api/v1/products/{id} - 商品を置換(管理者のみ)
  • PATCH /api/v1/products/{id} - 商品フィールドを更新(管理者のみ)
  • DELETE /api/v1/products/{id} - 商品を削除(管理者のみ)
  • GET /api/v1/products/{id}/reviews - 商品レビューを一覧表示
  • GET /api/v1/categories/{id}/products - カテゴリ別商品を一覧表示

正在使用“api-design-principles”。 一般的なシナリオのHTTPステータスコードは?

预期结果:

  • 200 OK - 成功したGET、PUT、PATCHリクエスト
  • 201 Created - リソース作成に成功したPOST
  • 204 No Content - 成功したDELETEまたは空のレスポンス
  • 400 Bad Request - 不正なJSONまたは無効な構文
  • 401 Unauthorized - 認証の欠如または有効期限切れ
  • 403 Forbidden - 有効な認証だが不十分な権限
  • 404 Not Found - リソースが存在しない
  • 409 Conflict - リソースの競合(例:重複キー)
  • 422 Unprocessable Entity - 検証エラー
  • 429 Too Many Requests - レート制限超過
  • 500 Internal Server Error - 予期しないサーバー障害

安全审计

安全
v1 • 2/24/2026

Static analysis flagged 201 patterns that are all false positives. The skill contains only documentation and educational content about API design. Markdown code blocks (backticks) were incorrectly identified as shell execution. Cryptographic references appear in security checklists, not actual implementations. URL and IP references are documentation examples for API endpoints. No executable code or security risks present.

6
已扫描文件
1,886
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

55
架构
100
可维护性
87
内容
50
社区
100
安全
91
规范符合性

你能构建什么

グリーンフィールドAPI設計

実装を開始する前に、適切なリソースモデリング、エンドポイント構造、ドキュメント標準を使用して、新しいRESTまたはGraphQL APIをゼロから設計します。

APIレビューとリファクタリング

設計原則に対して既存のAPIエンドポイントを評価し、不一致を特定して命名規則を改善し、移行戦略を計画します。

チーム標準ドキュメント

チームの整合性のために、バージョニング、エラーハンドリング、認証パターン、レスポンス形式をカバーする組織全体のAPI設計ガイドラインを確立します。

试试这些提示

基本的なRESTエンドポイント設計
著者、投稿、コメントを持つブログシステムのRESTエンドポイントを設計する必要があります。RESTのベストプラクティスに従って、URL階層、HTTPメソッド、レスポンス形式の構造を支援してください。
GraphQLスキーマレビュー
ユーザー管理システム用のGraphQLスキーマをレビューしてください。null非許容型の適切な使用とインターフェース実装を確認し、クエリ効率の改善とN+1問題の回避を提案してください。
APIバージョニング戦略
APIに破壊的な変更が予定されています。ユースケースに対して、URLパスバージョニング、ヘッダーバージョニング、クエリパラメータアプローチを比較してください。非推奨化タイムラインの推奨事項を含めてください。
エラーハンドリング設計
REST API用の一貫したエラーレスポンス形式を設計してください。フィールドレベルの検証エラー、プログラム的な処理用のエラーコード、一般的なシナリオ用の適切なHTTPステータスコードを含めてください。

最佳实践

  • リソースコレクションには複数形の名詞を使用し、URL階層を浅く保つ(最大2〜3レベルのネスト)
  • ドキュメント化されたページサイズ制限を持つ一貫したページネーションを実装し、レスポンスに総数メタデータを含める
  • URLパスまたはヘッダーバージョニングを使用して最初からAPIをバージョニングし、古いバージョンの明確な非推奨ポリシーを維持する

避免

  • リソース名詞での適切なHTTPメソッドの代わりに、/createUserや/getUserByIdなどのエンドポイントで動詞を使用する
  • クライアントの期待を裏切る類似のエンドポイント間で異なるレスポンス形式またはフィールド名を返す
  • リソースを過度に結合する/users/{id}/orders/{orderId}/items/{itemId}/reviewsのような深くネストされたURL

常见问题

新しいAPIにはRESTとGraphQLのどちらを使用すべきですか?
明確なリソース境界があり、強力なキャッシュが必要、または単純なCRUD操作を提供する場合はRESTを選択してください。クライアントが柔軟なデータ取得を必要とし、複雑な関係がある、またはモバイルクライアントがリクエストを最小限に抑える必要がある場合はGraphQLを選択してください。
既存のクライアントを破壊せずにAPIバージョニングを処理するにはどうすればよいですか?
ローンチ時にv1からバージョニングを開始してください。破壊的な変更については、v1と並行してv2を作成してください。非推奨タイムライン(通常6〜12ヶ月)を文書化してください。Sunsetヘッダーを使用して、今後の削除をクライアントに通知してください。十分な通知なしにバージョンを削除しないでください。
大規模なデータセットにはどのページネーションアプローチを使用すべきですか?
10万レコード未満のデータセットの単純なユースケースには、オフセットベースのページネーション(page/page_size)を使用してください。一貫性が重要な大規模なデータセットまたはリアルタイムデータにはカーソルベースのページネーションを使用してください。悪用を防ぐために常に最大ページサイズを強制してください。
開発者が実際に使用できるエラーレスポンスを設計するにはどうすればよいですか?
機械可読なエラーコード、人間可読なメッセージ、オプションのフィールドレベルの詳細を含めてください。すべてのエンドポイントで一貫した構造を使用してください。APIリファレンスですべてのエラーコードを文書化してください。検証エラーは422とフィールド固有のメッセージで返してください。
どのレート制限戦略を実装すべきですか?
APIキーまたはIPごとの1分あたりのリクエスト数から開始してください。レート制限ヘッダー(X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Reset)を含めてく���さい。超過時にRetry-Afterヘッダーで429ステータスを返してください。認証レベルに基づく階層化された制限を検討してください。
API設計で認証を処理するにはどうすればよいですか?
ほとんどのAPIでは、AuthorizationヘッダーでBearerトークン(JWTまたは不透明)を使用してください。サーバー間通信にはAPIキーを検討してください。URLパラメータで認証情報を受け入れないでください。トークン更新フローを明確に文書化してください。認証失敗には401、認可失敗には403を返してください。