API Versioning روشی برای مدیریت تغییر قرارداد API در طول زمان است، بهخصوص زمانی که کلاینتهای قدیمی نمیتوانند فوراً با تغییر سازگار شوند.
از تعریف تا کاربرد
اگر پاسخ /api/v1/users ساختار خاصی دارد و قرار است در نسخه جدید نام فیلد تغییر کند، میتوان نسخه تازهای ارائه کرد و برای مصرفکنندگان قبلی فرصت مهاجرت فراهم ساخت.
نسخهبندی در URL فقط یکی از روشهاست. Header و Content Negotiation نیز به کار میروند و نباید برای هر تغییر جزئی نسخه جدا ساخت.
نمونه دو نسخه API
GET /api/v1/products/42 HTTP/1.1
GET /api/v2/products/42 HTTP/1.1
نسخهبندی برای مدیریت تغییرهای ناسازگار مفید است. همیشه نیاز به نسخه تازه نیست, اما حذف فیلد یا تغییر معنی پاسخ میتواند کلاینتهای قبلی را خراب کند.