إصدارات واجهة برمجة التطبيقات (API Versioning)
إدارة إصدارات واجهة برمجة التطبيقات (API Versioning) هي ممارسة مهمة في تطوير التطبيقات الحديثة. تسمح لك بتحديث واجهة برمجة التطبيقات مع الحفاظ على التوافق مع التطبيقات القديمة.
كيفية تنظيم الإصدارات في كوكب Kawkab
يدعم إطار العمل كوكب Kawkab إدارة إصدارات API من خلال تنظيم المتحكمات في مجلدات مختلفة لكل إصدار.
هيكل المجلدات المقترح:
app/
├── users/
│ ├── controllers/
│ │ ├── v1/
│ │ │ └── index.ts
│ │ └── v2/
│ │ └── index.ts
إنشاء متحكم لإصدار معين
الإصدار الأول (v1):
npm run kawkab controller:make users/v1/profile users
الإصدار الثاني (v2):
npm run kawkab controller:make users/v2/profile users
مثال على متحكمات مختلفة الإصدارات
متحكم الإصدار الأول (v1):
import { BaseController, inherit } from "kawkab";
export default class extends inherit(BaseController) {
get() {
return {
status: true,
version: "1.0",
data: {
name: "User Name",
email: "user@example.com"
}
};
}
}
متحكم الإصدار الثاني (v2):
import { BaseController, inherit } from "kawkab";
export default class extends inherit(BaseController) {
get() {
return {
status: true,
version: "2.0",
data: {
name: "User Name",
email: "user@example.com",
profile: {
avatar: "https://example.com/avatar.jpg",
bio: "User bio"
}
}
};
}
}
الوصول إلى الإصدارات المختلفة
يمكن الوصول إلى الإصدارات المختلفة من خلال المسارات التالية:
الإصدار الأول:
http://localhost:3000/api/v1/users/profile
الإصدار الثاني:
http://localhost:3000/api/v2/users/profile
أفضل الممارسات
- التوثيق الواضح: توثيق التغييرات بين الإصدارات بشكل واضح.
- التوافق الخلفي: الحفاظ على عمل الإصدارات القديمة لفترة انتقالية.
- إشعار التقادم: إعلام المستخدمين عن الإصدارات التي ستصبح قديمة.
- تحديد مدة الدعم: تحديد فترة دعم كل إصدار بوضوح.
ملخص
إدارة إصدارات API في كوكب Kawkab تتم بشكل مرن وبسيط من خلال:
- تنظيم المتحكمات في مجلدات إصدارات.
- دعم عدة إصدارات في نفس الوقت.
- الحفاظ على التوافق.