Versioning により、既存の client を壊さずに 破壊的変更 (breaking changes) で API を進化させられます。主流の 3 つの戦略と、deprecation プロセスがあります。
3 つの戦略
1. URI versioning — version がパスにあります。
GET /v1/users/42 HTTP/1.1
GET /v2/users/42 HTTP/1.1
最も単純で最も可視的。ルーティング、キャッシュ、ブラウザでのテストが容易です。欠点: 技術的には「URI がリソースを識別する」に反します (同じ user が 2 つの URL を持つ)。これは圧倒的に最も一般的な選択です (GitHub、歴史的に Stripe)。
2. Custom header versioning — version がヘッダで運ばれます。
