تكرار السؤال: …
الإجابة المختصرة
إما عبر المسارات (URI Versioning مثل /api/v1/) وهي الأكثر شيوعاً ووضوحاً، أو عبر ترويسات الطلب (Header/Accept Versioning) للحفاظ على نظافة الروابط.
الشرح
عندما تخدم الـ API تطبيقات هواتف ذكية لا يمكن إجبار مستخدميها على التحديث الفوري، يصبح دعم عدة إصدارات بالتوازي أمراً إلزامياً. في Laravel، يتم تنظيم الإصدارات إما بفصل مجموعات المسارات والمتحكمات في مجلدات منفصلة (App\Http\Controllers\Api\V1 و V2) واستخدام Route Groups، أو عبر وسيط (Middleware) يفحص ترويسة Accept ويعدل توجيه الطلب داخلياً.
مثال بالكود
Route::prefix('v1')->group(base_path('routes/api_v1.php'));
Route::prefix('v2')->group(base_path('routes/api_v2.php'));أخطاء شائعة
- إجراء تغييرات كاسرة على الإصدار الحالي دون إطلاق إصدار جديد، مما يسقط إصدارات تطبيقات الموبايل القديمة.