مدقق Swagger 2.0

الصق تعريف Swagger 2.0 بصيغة JSON أو YAML للتحقق من وجود حقل الإصدار swagger، وكائن info يحتوي على عنوان وإصدار، وكائن paths. تُفحص إدخالات المسارات بحثًا عن شرطة مائلة في البداية، وعن مفاتيح ليست عمليات قياسية.

كيفية فحص ملف Swagger 2.0

  1. 1

    انسخ التعريف

    انسخ محتوى ملف `swagger.json` أو `swagger.yaml` كاملًا، بدءًا من السطر `swagger: "2.0"`.

  2. 2

    الصقه

    ضعه في حقل مستند OpenAPI / Swagger.

  3. 3

    شغّل الفحص

    انتقل إلى خطوة النتائج للحصول على الأخطاء والتحذيرات.

  4. 4

    حدّث وأعد الفحص

    طبّق الإصلاحات في ملفك والصق النسخة الجديدة حتى يصبح التقرير نظيفًا.

ما الذي يُعد اجتيازًا لملف Swagger 2.0

في ملف 2.0، يتحقق الفحص من الإصدار عبر وجود مفتاح swagger على المستوى الأعلى. الأداة لا تتحقق من أن قيمته هي "2.0"، لذلك لن تكتشف رقمًا خاطئًا. وبعد الإصدار يحتاج الملف إلى info.title وinfo.version وكائن paths.

الحقول الخاصة بـ Swagger 2.0 مثل host وbasePath وschemes وdefinitions وsecurityDefinitions لا تُفحص. لن يُبلَّغ عن غياب host أو عن كتلة definitions مكسورة.

مثال عملي

{
  "swagger": "2.0",
  "info": { "title": "Shop API", "version": "1.0" },
  "paths": {
    "/products": {
      "get": { "summary": "List products" },
      "x-internal": true
    }
  }
}

حقل الإصدار وinfo وpaths موجودة، لذلك لا توجد أخطاء. يعرض التقرير تحذيرًا واحدًا:

النتيجة النوع السبب
Unknown method ‘x-internal’ on /products. تحذير المفتاح ليس عملية قياسية ولا حقلًا من عنصر المسار

يبقى المستند صالحًا لأن التحذيرات لا تمنع الصلاحية. ومفاتيح الامتداد مثل x-internal مسموحة في Swagger 2.0، لذلك يمكنك إبقاؤها كما هي.

الانتقال من 2.0

إذا كنت تخطط للانتقال إلى OpenAPI 3.x، يمكنك لصق الملف المحوّل في الحقل نفسه ومقارنة النتائج. الفحص هو نفسه، مع استبدال الحقل openapi للحقل swagger. استخدم محوّلًا ومدققًا شاملين لعملية الترحيل الفعلية، لأن هذه الأداة لا تترجم إعدادات definitions أو host.

متى يكفي الفحص السريع

تبقى تعريفات Swagger 2.0 في المستودعات لسنوات وغالبًا ما يعدّلها الناس يدويًا. يفيد الفحص البنيوي السريع عندما ترث ملفًا كهذا، أو عندما ترفض أداة تحميله وتشك في حقل ناقص، أو عندما تدمج ملفين وتريد التأكد من أن النتيجة ما زالت تحتوي على قسمي info وpaths. أما قواعد 2.0 الكاملة، بما في ذلك definitions وإعدادات الأمان، فتحتاج إلى مدقق مخصص.

تذكّر أن التقرير النظيف يتعلق بالبنية فقط. العمليات بلا استجابات، وأنواع المعاملات الخاطئة، والمراجع غير المحلولة خارج نطاق هذا الفحص، لذلك اختبر الملف أيضًا في أداة التوثيق أو توليد الكود لديك.

الأسئلة الشائعة

لا. تتحقق من وجود الحقل swagger أو openapi، لا من محتواه.

لا. تُفحص فقط حقول الإصدار وكائن info وكائن paths والإدخالات تحت كل مسار.

نعم. يُقرأ النص كـ JSON أولًا، وإذا فشل ذلك يُقرأ كـ YAML. حافظ على المسافات البادئة كما هي عند اللصق.

حقول parameters وsummary وdescription وservers على مستوى المسار مدرجة ضمن المفاتيح المقبولة، لذلك لا تُطلق تحذير الطريقة غير المعروفة.

أدوات ذات صلة

مولّد إعدادات Webpack

أنشئ ملف webpack.config.js لـ webpack 5 لمشاريع JavaScript الخالصة أو React أو Vue: مع TypeScript وBabel وCSS أو Sass والصور وHtmlWebpackPlugin وخادم التطوير وسطر npm install.

محوّل ترميز ملفات النصوص

حوّل النص بين UTF-8 وUTF-16 وLatin-1 وWindows-1252 وترميزات أخرى لإصلاح الأحرف المشوّهة.

مولّد ملف .gitignore

اجمع قواعد استبعاد المشروع لـ Laravel وNode.js وPython وRails. انسخ الناتج أو نزّل ملف ZIP يحتوي على .gitignore، مع إبقاء القواعد الشخصية منفصلة.

أداة فك ترميز Protocol Buffers

فك ترميز بايتات Protobuf محليًا من hex أو Base64 أو Base64URL أو نص أو ملف، مع فحص دقيق للحقول وتصدير تقرير خاص.

مرجع جدول ASCII

جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.

أداة إزالة التشفير في لغة جافا سكريبت (JavaScript Deobfuscator)

إزالة التشفير من كود جافا سكريبت مُصغَّر أو مُعبَّأ باستخدام إعادة تسمية المتغيرات، وفك ترميز السلاسل النصية ومصفوفات البيانات، بالإضافة إلى عكس تسطيح تدفق التحكم وتحسين هيكله.

الأداة متاحة بلغات أخرى

أدلة وحالات استخدام