إصدارات واجهة برمجة التطبيقات (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 تتم بشكل مرن وبسيط من خلال:
- تنظيم المتحكمات في مجلدات إصدارات.
- دعم عدة إصدارات في نفس الوقت.
- الحفاظ على التوافق.