تمنحك وحدة APIs في Apidog طريقتين لبناء عقد API نفسه: وضع التصميم أولاً عبر واجهة مرئية، ووضع المواصفات أولاً عبر محرر YAML/JSON متصل بـ Git. كلاهما ينتج مواصفات OpenAPI صالحة؛ الاختلاف الحقيقي هو طريقة عمل فريقك يوميًا: هل يفضّل النماذج المنظمة أم تحرير ملف المواصفات مباشرة؟
في هذا الدليل ستتعلم متى تستخدم كل وضع، كيف يتعامل كل منهما مع Git، وكيف تختار الوضع الافتراضي المناسب لفريقك. يمكنك التبديل بين الوضعين من مفتاح واحد في أسفل يسار وحدة APIs، لذلك لا تحتاج إلى قرار نهائي من البداية.
الفلسفتان
قبل اختيار الوضع، حدّد طريقة التفكير:
- العقد أولاً: تحدد API contract قبل كتابة التنفيذ.
- العقد هو مصدر الحقيقة: الوثائق، الاختبارات، المحاكاة، والكود الناتج تعتمد عليه.
- OpenAPI هو الناتج المشترك: سواء استخدمت واجهة مرئية أو YAML/JSON.
التصميم أولاً
في التصميم أولاً، تبني العقد عبر واجهة منظمة:
- اختر HTTP method مثل
GETأوPOST. - أضف المسار مثل
/users/{id}. - عرّف path/query/header parameters.
- أنشئ request/response schemas.
- أضف أمثلة للاختبار والتوثيق.
الأداة تمنع الكثير من الأخطاء لأنك تدخل القيم من نماذج وقوائم بدل كتابة YAML يدويًا.
المواصفات أولاً
في المواصفات أولاً، تكتب العقد مباشرة كملف OpenAPI أو Swagger:
openapi: 3.0.3
info:
title: Users API
version: 1.0.0
paths:
/users/{id}:
get:
summary: Get user by ID
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
"200":
description: User found
هنا يكون ملف المواصفات هو سطح العمل الأساسي، وتتعامل معه مثل أي ملف مصدر داخل Git.
ملاحظة مهمة: كلا وضعي Apidog يحافظان على العقد قبل الكود. الاختلاف ليس في الفلسفة، بل في طريقة تأليف العقد: نماذج مرئية أم محرر نصوص.
للسياق الأوسع حول التعامل مع المواصفات كقطعة أثرية ذات إصدار، راجع: سير عمل API الأصلي لـ Git.
وضع التصميم أولاً في Apidog
وضع التصميم أولاً هو المصمم المرئي داخل Apidog. بدلاً من كتابة OpenAPI يدويًا، تبني العقد خطوة بخطوة من الواجهة.
استخدم هذا الوضع عندما تريد بناء API بسرعة دون القلق بشأن صياغة OpenAPI.
خطوات عملية:
- افتح مشروعك في Apidog.
- انتقل إلى وحدة APIs.
- أنشئ endpoint جديدًا.
- اختر method والمسار.
- أضف parameters.
- عرّف body schema عبر محرر الشجرة.
- أضف response schema مثل
200,400,500. - أرفق أمثلة قابلة للاستخدام في الاختبار والوثائق.
مثال عملي لنقطة نهاية:
GET /users/{id}
المعاملات:
| الاسم | المكان | النوع | مطلوب |
|---|---|---|---|
id |
path | string | نعم |
استجابة ناجحة:
{
"id": "usr_123",
"name": "Ali",
"email": "ali@example.com"
}
متى يكون هذا الوضع مناسبًا؟
- عندما لا يكون كل أعضاء الفريق خبراء في OpenAPI.
- عندما يشارك مدراء المنتجات أو QA في مراجعة العقد.
- عندما تبدأ API جديدًا من الصفر.
- عندما تريد تقليل أخطاء الصياغة في YAML/JSON.
- عندما تحتاج إلى مراجعة منظمة بدل diff نصي طويل.
يدعم وضع التصميم أولاً الفروع داخل Apidog، لذلك يمكن للفريق العمل على إصدارات مختلفة من تصميم API ثم مراجعتها ومطابقتها لاحقًا.
المقايضة الأساسية: إذا كنت تفكر مباشرة بصيغة OpenAPI، قد تبدو النماذج كطبقة إضافية بينك وبين ملف المواصفات.
وضع المواصفات أولاً في Apidog
وضع المواصفات أولاً، المتوفر حاليًا في النسخة التجريبية، مناسب للفرق التي تريد أن يعيش تعريف API داخل Git مثل أي ملف مصدر آخر.
بدلاً من النماذج، تحصل على محرر YAML/JSON على غرار IDE وتكتب OpenAPI أو Swagger مباشرة.
يدعم المحرر:
- تمييز بناء الجملة.
- التحقق المضمن.
- الإكمال التلقائي لمخططات OpenAPI وSwagger.
- مخططًا تفصيليًا للمسارات والمكونات في الشريط الجانبي.
- مؤشر مزامنة يوضح حالة التوافق مع المستودع المتصل.
مثال أكثر اكتمالًا:
openapi: 3.0.3
info:
title: Users API
version: 1.0.0
paths:
/users:
post:
summary: Create user
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/CreateUserRequest"
responses:
"201":
description: User created
content:
application/json:
schema:
$ref: "#/components/schemas/User"
components:
schemas:
CreateUserRequest:
type: object
required:
- name
- email
properties:
name:
type: string
email:
type: string
format: email
User:
type: object
properties:
id:
type: string
name:
type: string
email:
type: string
كيف يعمل Git في وضع المواصفات أولاً
الميزة الأساسية هنا هي المزامنة ثنائية الاتجاه مع Git.
يمكنك توصيل مستودع على:
- GitHub
- GitLab
- Azure DevOps عبر اتصال Git عام
بعد الربط، يمكنك العمل بطريقتين:
1. التحرير من Apidog ثم الدفع إلى Git
- افتح ملف المواصفات في Apidog.
- عدّل YAML أو JSON.
- تحقق من الأخطاء داخل المحرر.
- نفّذ commit من التطبيق.
- ادفع التغييرات إلى المستودع.
2. التحرير من محرر الكود ثم السحب إلى Apidog
- افتح ملف المواصفات في VS Code أو أي محرر.
- عدّل الملف.
- نفّذ commit وpush.
- اسحب التغييرات إلى Apidog.
- راجع العقد والوثائق والاختبارات داخل Apidog.
بهذا يصبح Apidog نافذة على ملف المواصفات نفسه، وليس نسخة منفصلة من الحقيقة.
يمكنك قراءة خطوات الإعداد الكاملة في وثائق وضع المواصفات أولاً.
إذا كان فريقك يتعامل مع المواصفات كتعليمات برمجية، راجع أيضًا: مواصفات الـ API كتعليمات برمجية.
مقارنة سريعة بين الوضعين
| الجانب | وضع التصميم أولاً | وضع المواصفات أولاً |
|---|---|---|
| المحرر | نماذج مرئية وشجرة مخطط | محرر YAML/JSON |
| طريقة التأليف | بناء العقد من الواجهة | كتابة OpenAPI/Swagger يدويًا |
| Git | فروع داخل Apidog | مزامنة ثنائية الاتجاه مع Git |
| التحقق | عبر قيود النماذج | تحقق مدمج وإكمال تلقائي |
| التنقل | قائمة endpoints ومجلدات | مخطط تفصيلي من ملف المواصفات |
| منحنى التعلم | منخفض | أعلى |
| الأفضل لـ | فرق متعددة المهارات | فرق هندسية تعتمد Git وPRs |
أي وضع تختار؟
استخدم وضع التصميم أولاً إذا:
- فريقك لا يتقن OpenAPI بالكامل.
- تحتاج إلى إشراك PM أو QA في تصميم API.
- تريد بناء endpoint جديد بسرعة.
- تفضل مراجعة منظمة بدل YAML diff.
- تريد تقليل أخطاء الصياغة.
استخدم وضع المواصفات أولاً إذا:
- ملف OpenAPI موجود بالفعل في Git.
- تراجع تغييرات API عبر pull requests.
- تشغل فحوصات المواصفات في CI.
- تريد ملف YAML/JSON واحدًا تستخدمه عدة أدوات.
- يفضل فريقك العمل داخل محررات الكود.
مسار عملي لكثير من الفرق:
- ابدأ بـ التصميم أولاً عند بناء API جديد.
- استخدم الواجهة المرئية لتثبيت المسارات والمخططات.
- عندما ينضج العقد، انتقل إلى المواصفات أولاً.
- اربط المواصفات بـ Git لمراجعتها وإصدارها مع الكود.
الوضعان ليسا منتجين متنافسين. إنهما طريقتان لتحرير العقد نفسه.
كيفية التبديل بين الأوضاع
للتبديل:
- افتح مشروعك في Apidog.
- انتقل إلى وحدة APIs.
- انظر إلى الزاوية السفلية اليسرى.
- استخدم محول الوضع للتبديل بين التصميم أولاً والمواصفات أولاً.
عند التبديل، تذكّر:
- العقد الأساسي مشترك بين الوضعين.
- endpoints والمخططات والأمثلة تبقى كما هي.
- أنت تغيّر سطح التحرير فقط.
- لاستخدام Git في وضع المواصفات أولاً، اربط مستودعًا أولًا.
- بما أن وضع المواصفات أولاً في مرحلة تجريبية، اختبر سلوك المزامنة على مشروع غير حرج قبل اعتماده لعقد إنتاجي.
مثال قرار سريع
إذا كان فريقك يقول:
"نريد أن يراجع الجميع تصميم API بسهولة."
ابدأ بـ التصميم أولاً.
إذا كان فريقك يقول:
"نريد مراجعة كل تغيير في API عبر pull request وتشغيل checks في CI."
استخدم المواصفات أولاً.
إذا كان الفريق مختلطًا، استخدم الاثنين:
- التصميم أولاً للهيكلة السريعة.
- المواصفات أولاً عند الحاجة إلى Git workflow صارم.
الأسئلة الشائعة
هل المواصفات أولاً هي نفسها العقد أولاً؟
في الممارسة، نعم. كلاهما يعني أنك تكتب مواصفات API قبل التنفيذ وتعاملها كمصدر الحقيقة. في Apidog، وضع المواصفات أولاً هو سير عمل عقد أولاً حيث يكون العقد ملف OpenAPI أو Swagger مكتوبًا يدويًا ومتزامنًا مع Git.
هل يعمل وضع المواصفات أولاً مع GitLab وAzure DevOps؟
نعم. يدعم وضع المواصفات أولاً المزامنة ثنائية الاتجاه مع GitHub وGitLab مباشرة. ويعمل Azure DevOps عبر اتصال Git عام، مما يسمح بمزامنة ملف المواصفات مع مستودع مستضاف على Azure.
هل يمكنني التبديل من التصميم أولاً إلى المواصفات أولاً دون فقدان عملي؟
نعم. كلا الوضعين يقرآن ويكتبان العقد الأساسي نفسه. عند تبديل الوضع من أسفل يسار وحدة APIs، تبقى نقاط النهاية والمخططات والأمثلة سليمة. أنت تبدل المحرر، وليس البيانات.
الخلاصة
اختر الوضع بناءً على طريقة عمل الفريق، لا بناءً على الأداة فقط:
- إذا أردت سرعة وسهولة مشاركة، استخدم التصميم أولاً.
- إذا أردت Git وPRs وملف مواصفات كمصدر مركزي، استخدم المواصفات أولاً.
- إذا تغيّرت احتياجاتك، بدّل الوضع من وحدة APIs واستمر على العقد نفسه.
جرّب بناء endpoint واحدة بالطريقتين، ثم اختر السطح الذي يجعل مراجعة العقد وتحديثه أسهل لفريقك.


Top comments (0)