مُحَوِّل OpenAPI من v2 إلى v3
مرشد
مُحَوِّل OpenAPI من v2 إلى v3
الصق مُحدد Swagger 2.0 واحصل على نسخة صالحة من OpenAPI 3.0.3 بصيغة JSON أو YAML. يُطبّق المُحول القواعد الرسمية للتحويل الهيكلي — يُنقل definitions تحت components/schemas، يُقلل host, basePathو، و schemes داخل servers، يُقسّم consumes و produces إلى مُدخلات لكل عملية content ، ويُعيد تشكيل معلمات النموذج وتعريفات الأمان — بحيث يعمل مُحددك مع أدوات OpenAPI الحديثة.
كيفية استخدام
- الصق مُحددك من Swagger 2.0 في مربع الإدخال. تُقبل الصيغة JSON وYAML؛ يتم اكتشاف الصيغة تلقائيًا.
- اختر صيغة المخرج: احتفظ بالصيغة المدخلة، أو قسّم إلى JSON أو YAML.
- أترك إضافة حقول مطلوبة مفقودة إلى تعبئة الحقول المطلوبة في v3 مثل
info.title,info.version، ووصف الاستجابات المفقودة عندما يُستبعدها المصدر v2. - اقرأ ملخص التحويل والتحذيرات المُعرضة أعلاه، ثم نسخ أو تحميل المُحدد الناتج من OpenAPI 3.0.3.
خصائص
- مُدخلات JSON وYAML، مُخرجات JSON أو YAML — اختر الصيغة التي تفضلها، أو اجعلها مطابقة للإدخال.
- التحويل الهيكلي —
definitions→components/schemas,securityDefinitions→components/securitySchemes,parameters/responsesيُرفع تحتcomponents، وكل$refمُشير يُعاد صياغته ليتوافق. - الخدمات من host، basePath، schemes — تُدمج إلى المصفوفة v3، مع تفضيل HTTPS عند وجود أكثر من نمط.
serversالتفاوض على المحتوى - يُحول إلى مُدخلات لكل عملية —
consumesوproducesمُدخلاتrequestBody.contentوresponses[*].contentمُدخلات - معلمات الطلب والنموذج —
in: bodyتُصبح حقول v3requestBodyو، وin: formDataالحقول المُجمعة إلىmultipart/form-dataأوapplication/x-www-form-urlencodedمخطط طلب. - تحسين تدفق الأمان — القيم OAuth2
flowتُعاد تعيينها على المُخطط v3flowsالنظامimplicit,password,clientCredentials,authorizationCode). - وضع التصحيح — عند التفعيل، يملأ الحقول المفقودة بحيث يمر المخرج بفحص v3 بدلًا من فشله بسبب عيوب طفيفة في المصدر.
- ملخص التحويل والتحذيرات — عدد المسارات، المخططات، ونماذج الأمان المُحول، بالإضافة إلى التحذيرات حول أي شيء لا يمكن تعيينه بشكل مباشر.
- يُشغل بالكامل في المتصفح الخاص بك — لا يغادر مُحددك الصفحة.
التعليمات
-
ما الذي تغير فيه الهيكل بين Swagger 2.0 وOpenAPI 3.0؟
أعاد OpenAPI 3.0 تنظيم القطع القابلة للإعادة تحت مُخطط واحد
components:definitionsأصبحcomponents/schemas,parametersأصبحcomponents/parameters,responsesأصبحcomponents/responsesو، وsecurityDefinitionsأصبحcomponents/securitySchemes. تغير أيضًا سطح النقل:host,basePathو، وschemesتم دمجها في مصفوفةserversمُجمعة من مسارات كاملة، بينما تم استبدال المصفوفات غير المُعلنة بمُدخلات مُحددةconsumesوproducesمُحددة حسب نوع المحتوى لكل طلب ورد.contentلماذا أحتاج إلى شكل جديد للمُدخلات في OpenAPI 3.0؟ -
في Swagger 2.0 كان مُدخل الطلب مجرد معلمة إضافية مع
، وكانت حقول النموذج معلمات مع
in: body. هذا أدى إلى تجميع مسائل مختلفة (معلمات المسار/الاستعلام/الرأس مقابل محتوى الطلب) في قائمة واحدة، مما جعل التفاوض على نوع المحتوى مُعقدًا. أعاد OpenAPI 3.0 تجزئة ذلك: المعلمات تُستخدم فقط لمسارات، استعلامات، رؤوس، ونماذج؛ يُنقل المحتوى إلى مُدخل أعلىin: formDataمُخطط. هذا يسمح لك بوصف نقطة اتصال تقبلrequestBody. قبل التحويل إلى JSON، غالبًا ما ترغب في استخراج المحتوى فقط.contentمع مخططات مختلفة لكل منها.application/json,multipart/form-dataو، وapplication/x-www-form-urlencodedهل يُمكن أن يُستخدم مُحدد Swagger 2.0 مع OpenAPI 3.0؟ -
لا. فهي نسخ من صيغة الوصف، وليس نسخ من بروتوكول الخدمة، لذا لا يُغيّر مُحددك طريقة استجابة خدمةك في الزمن الحقيقي — لكن الأدوات (المُولّدين، المُدققين، الخوادم المُحاكاة، عوامل العرض) يجب أن تفهم النسخة التي تُنشرها. أدخل OpenAPI 3.0 ميزات لا توجد في v2، مثل
، المُراجعات، الروابط، ونماذج الأمان الأفضل. لذا فإن الانتقال إلى الأمام (v3 → v2) يكون خاسرًا بشكل عام، بينما الانتقال إلى الوراء (v2 → v3) يكون ميكانيكيًا لأن v2 هو مجموعة صارمة من قوة v3.
oneOf/anyOf/notما معنى التحليل في هذا السياق؟ -
هو مُشير في صيغة JSON مثل
$ref. يجب أن يُعيد التحويل كل مُشير لأنه يتغير المسار المُوجه إليه:أ
$ref، وهكذا. لا يتم تحليل المُشارين (يُشير المُستند إلى الموقع)، لكن يجب إعادة صياغتهم بشكل متماسك مع التغيير الهيكلي لضمان أن المُحدد الناتج يبقى متماسكًا داخليًا.#/definitions/Userالصق مُحددك من Swagger 2.0 هنا (YAML أو JSON)...#/definitions/Userيتحول إلى#/components/schemas/User,#/parameters/AuthHeaderيتحول إلى#/components/parameters/AuthHeaderمُحول OpenAPI v2 إلى v3 1
تثبيت ملحقاتنا
أضف أدوات IO إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع
恵 وصلت لوحة النتائج!
لوحة النتائج هي طريقة ممتعة لتتبع ألعابك، يتم تخزين جميع البيانات في متصفحك. المزيد من الميزات قريبا!
