api-patterns は何をしますか?
API設計の原則と意思決定。REST vs GraphQL vs tRPCの選択、レスポンス形式、バージョニング、ページネーション。
概要
このスキルは、API設計における重要な判断をサポートします。以下の主要トピックをカバーします:
- アーキテクチャ選択: REST、GraphQL、tRPCの比較と選択基準
- レスポンス形式: JSON、XML、その他のフォーマットの標準化
- バージョニング: URLパス、クエリパラメータ、ヘッダーベースの戦略
- ページネーション: カーソルベース、オフセットベースの実装パターン
使用方法
任意のAIエージェントでこのスキルを呼び出して、API設計に関する質問や判断を支援してもらいます。
# 例: プロジェクトに最適なAPIアーキテクチャを尋ねる
> ユーザーデータを頻繁に更新するリアルタイムチャットアプリには、REST、GraphQL、tRPCのどれが最適ですか?
主要な考慮事項
REST
- リソース指向の設計
- HTTPメソッドとステータスコードの標準化
- キャッシュの容易さ
- 学習曲線が低い
GraphQL
- クライアント主導のデータ取得
- 単一エンドポイント
- オーバーフェッチとアンダーフェッチの防止
- 型システムの利点
tRPC
- 完全な型安全性
- バンドルサイズの削減
- フロントエンドとバックエンドの密結合
- 主にTypeScriptプロジェクト向け
ページネーションパターン
| 方式 | 利点 | 欠点 |
|---|---|---|
| オフセットベース | シンプルで理解しやすい | データ変更時に一貫性の問題 |
| カーソルベース | 安定したページネーション | 実装が複雑 |
バージョニング戦略
- URLパス:
v1/,v2/の形式 - クエリパラメータ:
?version=1の形式 - カスタムヘッダー:
Accept-Version: 1の形式 - コンテントネゴシエーション:
Accept: application/vnd.example.v1+json