مُحَوِّل OpenAPI من v2 إلى v3

بياناتمطور
إعلان · حذف؟

خيارات

إعلان · حذف؟

مرشد

مُحول OpenAPI 2 إلى 3

مُحَوِّل OpenAPI من v2 إلى v3

الصق مُحدد Swagger 2.0 واحصل على نسخة صالحة من OpenAPI 3.0.3 بصيغة JSON أو YAML. يُطبّق المُحول القواعد الرسمية للتحويل الهيكلي — يُنقل definitions تحت components/schemas، يُقلل host, basePathو، و schemes داخل servers، يُقسّم consumes و produces إلى مُدخلات لكل عملية content ، ويُعيد تشكيل معلمات النموذج وتعريفات الأمان — بحيث يعمل مُحددك مع أدوات OpenAPI الحديثة.

كيفية استخدام

  1. الصق مُحددك من Swagger 2.0 في مربع الإدخال. تُقبل الصيغة JSON وYAML؛ يتم اكتشاف الصيغة تلقائيًا.
  2. اختر صيغة المخرج: احتفظ بالصيغة المدخلة، أو قسّم إلى JSON أو YAML.
  3. أترك إضافة حقول مطلوبة مفقودة إلى تعبئة الحقول المطلوبة في v3 مثل info.title, info.version، ووصف الاستجابات المفقودة عندما يُستبعدها المصدر v2.
  4. اقرأ ملخص التحويل والتحذيرات المُعرضة أعلاه، ثم نسخ أو تحميل المُحدد الناتج من OpenAPI 3.0.3.

خصائص

  • مُدخلات JSON وYAML، مُخرجات JSON أو YAML — اختر الصيغة التي تفضلها، أو اجعلها مطابقة للإدخال.
  • التحويل الهيكليdefinitionscomponents/schemas, securityDefinitionscomponents/securitySchemes, parameters/responses يُرفع تحت components، وكل $ref مُشير يُعاد صياغته ليتوافق.
  • الخدمات من host، basePath، schemes — تُدمج إلى المصفوفة v3، مع تفضيل HTTPS عند وجود أكثر من نمط. servers التفاوض على المحتوى
  • يُحول إلى مُدخلات لكل عمليةconsumes و produces مُدخلات requestBody.content و responses[*].content مُدخلات
  • معلمات الطلب والنموذجin: body تُصبح حقول v3 requestBodyو، و in: formData الحقول المُجمعة إلى multipart/form-data أو application/x-www-form-urlencoded مخطط طلب.
  • تحسين تدفق الأمان — القيم OAuth2 flow تُعاد تعيينها على المُخطط v3 flows النظامimplicit, password, clientCredentials, authorizationCode).
  • وضع التصحيح — عند التفعيل، يملأ الحقول المفقودة بحيث يمر المخرج بفحص v3 بدلًا من فشله بسبب عيوب طفيفة في المصدر.
  • ملخص التحويل والتحذيرات — عدد المسارات، المخططات، ونماذج الأمان المُحول، بالإضافة إلى التحذيرات حول أي شيء لا يمكن تعيينه بشكل مباشر.
  • يُشغل بالكامل في المتصفح الخاص بك — لا يغادر مُحددك الصفحة.

التعليمات

  1. ما الذي تغير فيه الهيكل بين 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؟

  2. في 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؟

  3. لا. فهي نسخ من صيغة الوصف، وليس نسخ من بروتوكول الخدمة، لذا لا يُغيّر مُحددك طريقة استجابة خدمةك في الزمن الحقيقي — لكن الأدوات (المُولّدين، المُدققين، الخوادم المُحاكاة، عوامل العرض) يجب أن تفهم النسخة التي تُنشرها. أدخل OpenAPI 3.0 ميزات لا توجد في v2، مثل

    ، المُراجعات، الروابط، ونماذج الأمان الأفضل. لذا فإن الانتقال إلى الأمام (v3 → v2) يكون خاسرًا بشكل عام، بينما الانتقال إلى الوراء (v2 → v3) يكون ميكانيكيًا لأن v2 هو مجموعة صارمة من قوة v3. oneOf/anyOf/notما معنى التحليل في هذا السياق؟

  4. هو مُشير في صيغة 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 إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع

أضف لـ إضافة كروم أضف لـ امتداد الحافة أضف لـ إضافة فايرفوكس أضف لـ ملحق الأوبرا

وصلت لوحة النتائج!

لوحة النتائج هي طريقة ممتعة لتتبع ألعابك، يتم تخزين جميع البيانات في متصفحك. المزيد من الميزات قريبا!

إعلان · حذف؟
إعلان · حذف؟
إعلان · حذف؟

ركن الأخبار مع أبرز التقنيات

شارك

ساعدنا على الاستمرار في تقديم أدوات مجانية قيمة

اشتري لي قهوة
إعلان · حذف؟