خلال عملية التطوير، من المهم توحيد بيانات الاستجابة لواجهات البرمجة. مع المواصفات ذات الصلة، حتى إذا ظهرت مشاكل خلال التكرارات اللاحقة، يمكن للمطورين والمختبرين تحديد سبب المشكلة بسرعة.
لاختبار ما إذا كانت بنية البيانات التي تعيدها واجهة معينة متسقة، يمكنك استخدام وثائق API في Apidog. أولاً، سيتم تقديم هياكل بيانات شائعة، متبوعة بمثال لتجربة تصميم هياكل البيانات.
مثال
1. المشكلة
افترض أن هناك سيناريو حيث يحتوي كائن على خاصيتين:
النوع: تعداد
القيم: مصفوفة
عندما تكون قيمة النوع ثابتة، يجب أن يكون طول القيم 1؛ عندما تكون قيمة النوع مجموعة، يجب أن يكون طول القيم 2؛ عندما تكون قيمة النوع أخرى، لا يوجد حد لطول القيم.
في هذا السيناريو، كيف يمكننا تحديد طول القيم بناءً على قيمة النوع في Apidog؟ بحيث يمكن إعادة استجابة خطأ إذا لم يكن بالإمكان مطابقة العلاقة بين النوع والقيم؟
أولاً، قم بإدراج جميع المواصفات المحتملة لبنية البيانات بناءً على المتطلبات:
// النوع A
{
"type": "fixed",
"values": ["1"]
}
// النوع B
{
"type": "range",
"values": ["1","2"]
}
// النوع C
{
"type": "other",
"values": ["1","2","89","67"]
}
2. تعريف البيانات الوهمية
لحل المشكلة في المثال بشكل أكثر ملاءمة، نستخدم وظيفة المزيف المتقدم في Apidog لتوفير بيانات الواجهة. وفقًا لوصف المشكلة، نحتاج إلى تعريف 5 أنواع مختلفة من البيانات الوهمية، مقسمة إلى 3 تحقق ناجح و 2 تحقق فاشل، كما يلي:

عندما تكون قيمة type fixed، يجب أن يكون طول values 1:

عندما تكون قيمة type range، يجب أن يكون طول values 2:

عندما تكون قيمة النوع أخرى، لا يوجد حد لطول القيم:

عندما تكون قيمة النوع ثابتة، فإن طول القيم ليس 1:

عندما تكون قيمة النوع مجموعة، فإن طول القيم ليس 2:

بعد تحديد البيانات الوهمية، يمكنك استدعاء الواجهة والتحقق مما إذا كانت بنية البيانات في الاستجابة المعادة متسقة.
3. تحديد استجابة ناجحة
وفقا للمتطلبات المذكورة أعلاه، هناك ثلاث حالات مقابلة لبيانات الاستجابة المتوقعة وبيانات الاستجابة المعادة، وإلا سيتم إرجاع استجابة خطأ.
3.1 المواصفة 1: استجابة ناجحة للمعامل الثابت
قم بتعيين النوع على نوع السلسلة، وأضف قيمة تعداد الثابت؛ قم بتعيين القيم على نوع المصفوفة، وحدد عدد العناصر المخرجة ليكون 1 فقط، مع عناصر من النوع السلسلة في الداخل. التفاصيل كما يلي:

3.2 المواصفة 2: استجابة ناجحة لمعامل النطاق
قم بتعيين النوع على نوع السلسلة، وأضف قيمة تعداد المجموعة؛ قم بتعيين القيم على نوع المصفوفة، وحدد الحد الأقصى والأدنى لعدد العناصر ليكون 2، مع عناصر من النوع السلسلة في الداخل. التفاصيل كما يلي:

3.3 المواصفة 3: استجابة ناجحة لمعامل آخر
قم بتعيين النوع على نوع السلسلة، وأضف قيمة تعداد أخرى؛ قم بتعيين القيم على نوع المصفوفة، مع عدم وجود حد أقصى وأدنى لعدد العناصر، مع عناصر من النوع السلسلة في الداخل. التفاصيل كما يلي:

بعد تحديد مثال الاستجابة الناجحة، يمكن للمستخدم تحديد ما إذا كانت بيانات الواجهة المعادة تتوافق مع المواصفة من خلال حالة الاستجابة عند تقديم الطلب عبر الواجهة.
4. التحقق من بيانات الاستجابة
يجب أن تتوافق بيانات الاستجابة والمواصفات المعادة، وإلا فإن التحقق سيفشل. خلال عملية استدعاء الواجهة، من الضروري التحقق من النتائج المعادة والتحقق منها في الوقت المناسب لضمان صحة و اكتمال النتائج المعادة. يمكن أن يقلل ذلك بشكل فعال من احتمالية فشل أو خطأ استدعاء الواجهة، وضمان اتساق وموثوقية الواجهة، وتقليل تكاليف الصيانة في المرحلة اللاحقة.
4.1 التحقق من المواصفة 1
تحويل "التحقق من الاستجابة" إلى "نجاح ثابت (200)" يعني أنه يجب إخراج قيمة واحدة فقط في مصفوفة "القيم" ليكون التحقق ناجحًا عندما يتم تعيين النوع على "ثابت".

أدخل القيمة 1 في حقل المعامل وانقر على زر "إرسال". نظرًا لأن بيانات الاستجابة المحددة مسبقًا تتوافق مع المواصفات المتوقعة، فستظهر رسالة تفيد بنجاح التحقق ✅.

إذا كانت قيمة type ليست fixed، فإن بنية البيانات المعادة قد فشلت في التحقق ❌:

إذا كانت قيمة values null أو أكثر من 1، فإن بنية البيانات المعادة قد فشلت في التحقق ❌:

4.2 نجاح النطاق (200)
قم بتحويل "التحقق من الاستجابة" إلى "نجاح النطاق (200)". هذا يشير إلى أن قيمتين فقط تعتبران تحققًا ناجحًا في مصفوفة القيم عندما تكون قيمة النوع مجموعة.

إذا كانت قيمة النوع ليست مجموعة، فإن بنية البيانات المعادة قد فشلت في التحقق ❌:

إذا كانت قيمة values null أو ليست 2 قيم، فإن التحقق من بنية البيانات سيفشل أيضًا ❌:

4.3 نجاح آخر (200)
تحويل "التحقق من الاستجابة" إلى "نجاح آخر (200)" يعني أنه بالنسبة لقيمة type من other، فإن أي عدد من القيم في مصفوفة "القيم" ستؤدي إلى تحقق ناجح. ✅

إذا كانت قيمة النوع ليست other، فإن بنية البيانات المعادة ستفشل في التحقق ❌:

الملخص
بالإضافة إلى الحالة المذكورة أعلاه، يمكنك أيضًا توحيد هياكل بيانات أخرى في Apidog للتحقق مما إذا كانت بيانات الواجهة موحدة. يدعم Apidog أيضًا العديد من الميزات الأخرى، مثل استيراد الواجهة، بيانات وهمية، والاختبار الآلي. انقر على الرابط لقراءة المقال الأصلي وتجربته بنفسك!



![[دليل] تحويل واجهات برمجة التطبيقات SOAP إلى واجهات برمجة التطبيقات REST](https://assets.apidog.com/blog/2024/02/convert-soap-to-rest-cover.png)