jpskill.com
🛠️ 開発・MCP コミュニティ

api-versioning-strategy

Implement API versioning strategies including URL versioning, header versioning, backward compatibility, deprecation strategies, and migration guides. Use when dealing with API versions, deprecating endpoints, or managing breaking changes.

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o api-versioning-strategy.zip https://jpskill.com/download/21334.zip && unzip -o api-versioning-strategy.zip && rm api-versioning-strategy.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/21334.zip -OutFile "$d\api-versioning-strategy.zip"; Expand-Archive "$d\api-versioning-strategy.zip" -DestinationPath $d -Force; ri "$d\api-versioning-strategy.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して api-versioning-strategy.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → api-versioning-strategy フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
14

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

API バージョニング戦略

目次

概要

REST API、GraphQL、および gRPC サービスにおける API バージョニングのアプローチ、非推奨化戦略、後方互換性技術、および移行計画に関する包括的なガイドです。

使用場面

  • バージョニングを最初から考慮した新しい API の設計
  • 既存の API への破壊的変更の追加
  • 古い API バージョンの非推奨化
  • API 移行の計画
  • 後方互換性の確保
  • 複数の API バージョンの同時管理
  • 異なるバージョン向けの API ドキュメントの作成
  • API バージョンルーティングの実装

クイックスタート

最小限の動作例です。

// express-router.ts
import express from "express";

const app = express();

// Version 1
app.get("/api/v1/users", (req, res) => {
  res.json({
    users: [{ id: 1, name: "John Doe" }],
  });
});

// Version 2 - Added email field
app.get("/api/v2/users", (req, res) => {
  res.json({
    users: [{ id: 1, name: "John Doe", email: "john@example.com" }],
  });
});

// Shared logic with version-specific transformations
app.get("/api/:version/users/:id", async (req, res) => {
  const user = await userService.findById(req.params.id);

  if (req.params.version === "v1") {
    res.json({ id: user.id, name: user.name });
// ... (see reference guides for full implementation)

リファレンスガイド

references/ ディレクトリにある詳細な実装です。

ガイド 内容
Versioning Approaches バージョニングのアプローチ
Backward Compatibility Patterns 後方互換性パターン
Deprecation Strategy 非推奨化戦略
Migration Guide Example 移行ガイドの例
Response Structure レスポンス構造
Date Format 日付形式、エラー形式
JavaScript/TypeScript JavaScript/TypeScript、Python
GraphQL Versioning GraphQL バージョニング
gRPC Versioning gRPC バージョニング
Version Detection & Routing バージョン検出とルーティング
Testing Multiple Versions 複数バージョンのテスト
Pattern 1: Version-Agnostic Core パターン 1: バージョンに依存しないコア、パターン 2: 段階的ロールアウトのための機能フラグ、パターン 3: API バージョンメトリクス

ベストプラクティス

✅ するべきこと

  • 初日からバージョン管理を行う(v1 であっても)
  • 破壊的変更と非破壊的変更を文書化する
  • コード例を含む明確な移行ガイドを提供する
  • セマンティックバージョニングの原則を使用する
  • 6〜12ヶ月の非推奨化通知期間を設ける
  • 非推奨化された API の使用状況を監視する
  • API コンシューマーに非推奨化警告を送信する
  • 少なくとも 2 つのバージョンを同時にサポートする
  • バージョンロジックにアダプター/トランスフォーマーを使用する
  • サポートされているすべてのバージョンをテストする
  • 使用されている API バージョンをログに記録する
  • 可能な場合は移行ツールを提供する
  • バージョニングアプローチに一貫性を持たせる

❌ するべきではないこと

  • バージョン管理なしに API の動作を変更する
  • 通知なしにバージョンを削除する
  • あまりにも多くのバージョンをサポートする(3つ以上)
  • 同じ API で異なるバージョニング戦略を使用する
  • バージョンをインクリメントせずに API を破壊する
  • ドキュメントの更新を忘れる
  • 非推奨化を急ぎすぎる(6ヶ月未満)
  • API コンシューマーからのフィードバックを無視する
  • すべての変更を新しいバージョンにする
  • バージョン番号を不整合に使用する
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

API Versioning Strategy

Table of Contents

Overview

Comprehensive guide to API versioning approaches, deprecation strategies, backward compatibility techniques, and migration planning for REST APIs, GraphQL, and gRPC services.

When to Use

  • Designing new APIs with versioning from the start
  • Adding breaking changes to existing APIs
  • Deprecating old API versions
  • Planning API migrations
  • Ensuring backward compatibility
  • Managing multiple API versions simultaneously
  • Creating API documentation for different versions
  • Implementing API version routing

Quick Start

Minimal working example:

// express-router.ts
import express from "express";

const app = express();

// Version 1
app.get("/api/v1/users", (req, res) => {
  res.json({
    users: [{ id: 1, name: "John Doe" }],
  });
});

// Version 2 - Added email field
app.get("/api/v2/users", (req, res) => {
  res.json({
    users: [{ id: 1, name: "John Doe", email: "john@example.com" }],
  });
});

// Shared logic with version-specific transformations
app.get("/api/:version/users/:id", async (req, res) => {
  const user = await userService.findById(req.params.id);

  if (req.params.version === "v1") {
    res.json({ id: user.id, name: user.name });
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

Guide Contents
Versioning Approaches Versioning Approaches
Backward Compatibility Patterns Backward Compatibility Patterns
Deprecation Strategy Deprecation Strategy
Migration Guide Example Migration Guide Example
Response Structure Response Structure
Date Format Date Format, Error Format
JavaScript/TypeScript JavaScript/TypeScript, Python
GraphQL Versioning GraphQL Versioning
gRPC Versioning gRPC Versioning
Version Detection & Routing Version Detection & Routing
Testing Multiple Versions Testing Multiple Versions
Pattern 1: Version-Agnostic Core Pattern 1: Version-Agnostic Core, Pattern 2: Feature Flags for Gradual Rollout, Pattern 3: API Version Metrics

Best Practices

✅ DO

  • Version from day one (even if v1)
  • Document breaking vs non-breaking changes
  • Provide clear migration guides with code examples
  • Use semantic versioning principles
  • Give 6-12 months deprecation notice
  • Monitor usage of deprecated APIs
  • Send deprecation warnings to API consumers
  • Support at least 2 versions simultaneously
  • Use adapters/transformers for version logic
  • Test all supported versions
  • Log which API version is being used
  • Provide migration tooling when possible
  • Be consistent with versioning approach

❌ DON'T

  • Change API behavior without versioning
  • Remove versions without notice
  • Support too many versions (>3)
  • Use different versioning strategies in same API
  • Break APIs without incrementing version
  • Forget to update documentation
  • Deprecate too quickly (<6 months)
  • Ignore feedback from API consumers
  • Make every change a new version
  • Use version numbers inconsistently

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。