دورة مكثفة 101
10 وحدات
5 أسابيع

اختيال

انقر للنسخ

استخدام Swagger لاستكشاف أخطاء التطبيق وإصلاحها


الأداة التالية التي يمكننا استخدامها لاختبار تطبيقنا وتصحيحه هي Swagger . لقد تعرفنا عليه سابقًا ؛ كما تتذكر ، يمكنك أن ترى فيه جميع نقاط النهاية الخاصة بالتطبيق الذي يتم تطويره وتشغيله والحصول على النتيجة. دعونا نلقي نظرة على هذا بمزيد من التفصيل.

إذن في Swagger

بادئ ذي بدء ، تذكر أن Middleware Token Auth يتم تمكينه افتراضيًا ، والذي يتحكم في الوصول إلى نقطة النهاية لمعظم نقاط النهاية. إنه يرفض الوصول للمستخدمين الذين لم يتم تفويضهم أو حتى اجتيازه ولكن ليس لديهم حقوق الوصول المناسبة (على سبيل المثال ، ينتمون إلى مجموعة Users ، ونقطة النهاية مخصصة حصريًا Admins ).

يمكن العثور على رمز التفويض الضروري باستخدام Developer Tools . كل ما عليك فعله هو تسجيل الدخول إلى تطبيق الويب المنشور ثم تلبية أي طلب. سيتم استخدام الرمز المميز في Request Headers . على سبيل المثال ، يمكنك رؤيته في لقطة الشاشة أعلى قليلاً في الوقت الحالي عندما قدمنا طلب GET للحصول على بيانات حول البلدان.

دعونا نرى كيف يمكنك الحصول عليه مباشرة في Swagger . للقيام بذلك ، ابحث عن نقطة النهاية المسؤولة عن التفويض (مجموعة Auth ، POST /Auth/ نقطة النهاية) وانقر فوق الزر " Try it out" . تأخذ نقطة النهاية هذه معلمتين ، Login وكلمة Password . حددها وانقر فوق Execute لإرسال الطلب. بالمناسبة ، هنا ، قد يكون من المفيد أيضًا استخدام Developer Tools ؛ يمكنك فتحها لمزيد من الدراسة التفصيلية للطلب والاستجابة.


سيحصل الرد على الرمز المطلوب ، بالإضافة إلى معلومات مفصلة حول المستخدم وجلساته.


يمكنك أن ترى أن الاستجابة المستلمة لا تختلف كثيرًا عن تلك التي رأيناها بالفعل في Developer Tools . في الوقت نفسه ، يتمتع Swagger بميزة لا يمكن إنكارها من حيث أنه يجعل من الممكن اختبار أي طلبات وإطلاق نقاط النهاية باستخدام المعلمات الضرورية في شكل مناسب. ولكن قبل متابعة هذا الاختبار ، دعنا ننقر على " Authorize " ونستخدم الرمز المميز المستلم لتأكيد التفويض.


إرسال الطلبات باستخدام Swagger

الآن دعنا نرسل طلبًا عبر Swagger للحصول على بيانات عن المدينة الأولى التي تأتي عبرها ، والتي يبلغ عدد سكانها أكثر من 5 ملايين شخص وكلمة " World " في الوصف. للقيام بذلك ، افتح GET /city/ endpoint واملأ المعلمات المطلوبة:

  • _limit = 1 (مطلوب مدينة واحدة فقط)
  • population_from = 5000000 (يجب التحقق من القيمة السكانية)
  • _search_in = info (ابحث فقط في حقل info )
  • _search = World (أبحث عن كلمة World )


يظهر الرد المستلم أن الطلب قد تم تنفيذه بشكل صحيح. تلقينا معلومات حول إحدى هذه المدن (نرى أن count = 3 ، مما يعني أن قاعدة البيانات تحتوي على معلومات حول ثلاث مدن مناسبة) ولم نتلق أي بيانات حول الدولة التي تقع فيها ( “country”: null ) ، منذ ذلك الحين لم يكن الاستعلام بحاجة إلى تقديم بيانات من الجداول ذات الصلة (إذا لزم الأمر ، كان من المفيد استخدام المعامل _with ).


Was this article helpful?
لا تزال تبحث عن إجابة؟