rest-patterns
RESTful APIの設計パターン、HTTPのセマンティクス、キャッシング、レート制限に関する情報を素早く参照するためのSkill。
📜 元の英語説明(参考)
Quick reference for RESTful API design patterns, HTTP semantics, caching, and rate limiting. Triggers on: rest api, http methods, status codes, api design, endpoint design, api versioning, rate limiting, caching headers.
🇯🇵 日本人クリエイター向け解説
RESTful APIの設計パターン、HTTPのセマンティクス、キャッシング、レート制限に関する情報を素早く参照するためのSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o rest-patterns.zip https://jpskill.com/download/5931.zip && unzip -o rest-patterns.zip && rm rest-patterns.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/5931.zip -OutFile "$d\rest-patterns.zip"; Expand-Archive "$d\rest-patterns.zip" -DestinationPath $d -Force; ri "$d\rest-patterns.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
rest-patterns.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
rest-patternsフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
RESTパターン
RESTful APIの設計パターンとHTTPセマンティクスに関するクイックリファレンスです。
HTTPメソッド
| メソッド | 目的 | 冪等性 | キャッシュ可能 |
|---|---|---|---|
| GET | リソースを取得 | はい | はい |
| POST | 新しいリソースを作成 | いいえ | いいえ |
| PUT | リソース全体を置換 | はい | いいえ |
| PATCH | 部分的な更新 | 場合による | いいえ |
| DELETE | リソースを削除 | はい | いいえ |
必須のステータスコード
| コード | 名前 | 用途 |
|---|---|---|
| 200 | OK | ボディを伴う成功 |
| 201 | Created | POSTの成功(Locationヘッダーを追加) |
| 204 | No Content | 成功、ボディなし |
| 400 | Bad Request | 無効な構文 |
| 401 | Unauthorized | 認証されていない |
| 403 | Forbidden | 認可されていない |
| 404 | Not Found | リソースが存在しない |
| 422 | Unprocessable | バリデーションエラー |
| 429 | Too Many Requests | レート制限 |
| 500 | Server Error | 内部的な障害 |
リソース設計
GET /users # リスト
POST /users # 作成
GET /users/{id} # 1件取得
PUT /users/{id} # 置換
PATCH /users/{id} # 更新
DELETE /users/{id} # 削除
# クエリパラメータ
GET /users?page=2&limit=20 # ページネーション
GET /users?sort=created_at:desc # ソート
GET /users?role=admin # フィルタリング
セキュリティチェックリスト
- [ ] HTTPS/TLSのみ
- [ ] 認証にはOAuth 2.0またはJWTを使用
- [ ] すべての入力を検証
- [ ] クライアントごとにレート制限
- [ ] CORSヘッダーを設定済み
- [ ] URLに機密データを含めない
- [ ] 機密性の高いレスポンスには
no-storeを使用
よくある間違い
| 間違い | 修正 |
|---|---|
| URL内の動詞 | /getUsers → /users |
| 深いネスト | フラットにするか、クエリパラメータを使用 |
| エラーに200を使用 | 適切な4xx/5xxを使用 |
| ページネーションなし | コレクションは常にページネーションする |
| レート制限の欠如 | 悪用から保護する |
クイックリファレンス
| タスク | パターン |
|---|---|
| ページネーション | ?page=2&limit=20 |
| ソート | ?sort=field:asc |
| フィルタリング | ?status=active |
| スパースフィールド | ?fields=id,name |
| 関連を含める | ?include=orders |
使用場面
- 新しいAPIエンドポイントの設計時
- HTTPメソッドとステータスコードの選択時
- キャッシュヘッダーの実装時
- レート制限の設定時
- エラーレスポンスの構造化時
追加リソース
詳細なパターンについては、以下を読み込んでください。
./references/status-codes.md- 例を含む完全なステータスコードリファレンス./references/caching-patterns.md- Cache-Control、ETag、CDNパターン./references/rate-limiting.md- レート制限戦略とヘッダー./references/response-formats.md- エラー、バージョン管理、一括操作、HATEOAS
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
REST Patterns
Quick reference for RESTful API design patterns and HTTP semantics.
HTTP Methods
| Method | Purpose | Idempotent | Cacheable |
|---|---|---|---|
| GET | Retrieve resource(s) | Yes | Yes |
| POST | Create new resource | No | No |
| PUT | Replace entire resource | Yes | No |
| PATCH | Partial update | Maybe | No |
| DELETE | Remove resource | Yes | No |
Essential Status Codes
| Code | Name | Use |
|---|---|---|
| 200 | OK | Success with body |
| 201 | Created | POST success (add Location header) |
| 204 | No Content | Success, no body |
| 400 | Bad Request | Invalid syntax |
| 401 | Unauthorized | Not authenticated |
| 403 | Forbidden | Not authorized |
| 404 | Not Found | Resource doesn't exist |
| 422 | Unprocessable | Validation error |
| 429 | Too Many Requests | Rate limited |
| 500 | Server Error | Internal failure |
Resource Design
GET /users # List
POST /users # Create
GET /users/{id} # Get one
PUT /users/{id} # Replace
PATCH /users/{id} # Update
DELETE /users/{id} # Delete
# Query parameters
GET /users?page=2&limit=20 # Pagination
GET /users?sort=created_at:desc # Sorting
GET /users?role=admin # Filtering
Security Checklist
- [ ] HTTPS/TLS only
- [ ] OAuth 2.0 or JWT for auth
- [ ] Validate all inputs
- [ ] Rate limit per client
- [ ] CORS headers configured
- [ ] No sensitive data in URLs
- [ ] Use
no-storefor sensitive responses
Common Mistakes
| Mistake | Fix |
|---|---|
| Verbs in URLs | /getUsers → /users |
| Deep nesting | Flatten or use query params |
| 200 for errors | Use proper 4xx/5xx |
| No pagination | Always paginate collections |
| Missing rate limits | Protect against abuse |
Quick Reference
| Task | Pattern |
|---|---|
| Paginate | ?page=2&limit=20 |
| Sort | ?sort=field:asc |
| Filter | ?status=active |
| Sparse fields | ?fields=id,name |
| Include related | ?include=orders |
When to Use
- Designing new API endpoints
- Choosing HTTP methods and status codes
- Implementing caching headers
- Setting up rate limiting
- Structuring error responses
Additional Resources
For detailed patterns, load:
./references/status-codes.md- Complete status code reference with examples./references/caching-patterns.md- Cache-Control, ETag, CDN patterns./references/rate-limiting.md- Rate limiting strategies and headers./references/response-formats.md- Errors, versioning, bulk ops, HATEOAS