【えーぴーあいばーじょにんぐ】
APIバージョニング とは?
💡 古い「注文書」も使えるように、バージョンを分けて管理する仕組み
📌 このページのポイント
APIを公開したあとに「このフィールドをなくしたい」「レスポンスの形を変えたい」と思っても、すでに使っているクライアントが壊れてしまうんだ。バージョニングをしておけば古いクライアントはv1を使い続けて、新しい機能はv2に移行する、という対応ができるよ。
URLにバージョンを入れる方法ってどんな感じ?
どの方式が一番いいの?
古いバージョンのサポートはいつ終わらせればいいの?
ここが実際の運用で一番難しいんだよ。「v1は〇月〇日で廃止します」と告知しても、使い続けるクライアントがいることが多くて、廃止しきれないことがある。一般的には非推奨(deprecated)の期間を設けて、移行ガイドを作り、APIのレスポンスに「この版は廃止予定です」というヘッダーを付ける。社内APIでも外部APIでも「古いバージョンがいつまでも残る」問題は世界中で起きていて、セマンティックバージョニングの思想と組み合わせてライフサイクルを明文化することが大切だよ。
📖 おまけ:英語の意味
「API Versioning」 = APIのバージョン管理
💬 「Versioning」はバージョンを付けて管理すること。ソフトウェアのリリース管理と同様の考え方をAPIに適用したものだよ