OpenAPI Diff और ब्रेकिंग चेंज चेकर
दो OpenAPI या Swagger स्पेक की तुलना करें और API के ब्रेकिंग बदलाव पहचानें
इनपुट
बेसलाइन स्पेक
JSON या YAML पेस्ट करें, फ़ाइल अपलोड करें या URL इम्पोर्ट करें।
कैंडिडेट स्पेक
JSON या YAML पेस्ट करें, फ़ाइल अपलोड करें या URL इम्पोर्ट करें।
नतीजे
बेसलाइन और कैंडिडेट स्पेक जोड़ें, फिर तुलना करें चुनें।
विवरण
अभी तुलना नहीं हुई है।
संबंधित टूल्स
OpenAPI Diff क्या जाँचता है?
OpenAPI Diff बेसलाइन और कैंडिडेट API स्पेसिफिकेशन की तुलना टेक्स्ट से नहीं, बल्कि अर्थ के आधार पर करता है। यह ऑपरेशन को मेथड और पाथ से मिलाता है (इसलिए /users/{id} और /users/{userId} एक ही एंडपॉइंट माने जाते हैं), आंतरिक $ref रेफ़रेंस को हल करता है, और हर कॉन्ट्रैक्ट बदलाव को उसके ऑपरेशन, स्थान, पहले और बाद के मानों, और क्लाइंट के लिए उसके महत्व के साथ बताता है। JSON या YAML में Swagger 2.0, OpenAPI 3.0 और OpenAPI 3.1 समर्थित हैं, और Swagger 2.0 को पहले OpenAPI 3 के रूप में नॉर्मलाइज़ किया जाता है।
उपयोग कैसे करें
- 1.बेसलाइन स्पेक (जो वर्शन क्लाइंट आज इस्तेमाल करते हैं) पेस्ट, अपलोड या इम्पोर्ट करें।
- 2.कैंडिडेट स्पेक (प्रस्तावित वर्शन) जोड़ें।
- 3.तुलना करें चुनें।
- 4.ब्रेकिंग, चेतावनियाँ और संगत टैब देखें, और मेथड या क्षेत्र के अनुसार फ़िल्टर करें।
- 5.किसी बदलाव को चुनकर पहले और बाद के मान तथा उसका महत्व देखें।
- 6.पुल रिक्वेस्ट के लिए ब्रेकिंग बदलाव कॉपी करें, या CI के लिए Markdown या JSON रिपोर्ट डाउनलोड करें।
बदलावों का वर्गीकरण कैसे होता है
रिक्वेस्ट और रिस्पॉन्स को उल्टी दिशाओं में परखा जाता है। रिक्वेस्ट की ओर (जो क्लाइंट भेजते हैं), जो भी स्वीकार की जाने वाली चीज़ों को सीमित करता है वह ब्रेकिंग है: नया अनिवार्य पैरामीटर या प्रॉपर्टी, हटाया गया enum मान, बदला हुआ टाइप या फ़ॉर्मेट, कम किया गया अधिकतम या बढ़ाया गया न्यूनतम मान, नया पैटर्न, या हटाया गया कंटेंट टाइप। रिस्पॉन्स की ओर (जो क्लाइंट प्राप्त करते हैं), जो भी क्लाइंट के पढ़ने योग्य चीज़ों को हटाता या बढ़ाता है वह ब्रेकिंग या चेतावनी है: हटाई गई प्रॉपर्टी या सफल स्टेटस, बदला हुआ टाइप, नया enum मान, या अनिवार्य से वैकल्पिक हुई प्रॉपर्टी। हटाए गए एंडपॉइंट, नया ऑथेंटिकेशन, बदली गई सिक्योरिटी स्कीम और जोड़े गए OAuth स्कोप ब्रेकिंग हैं। विवरण, सारांश, शीर्षक और उदाहरणों के संपादन डॉक्यूमेंटेशन बदलाव हैं और चालू किए बिना छिपे रहते हैं।
सीमाएँ और गोपनीयता
तुलना आपके ब्राउज़र में बिल्ट-इन रूल इंजन से चलती है; स्पेक कभी अपलोड नहीं किए जाते। URL इम्पोर्ट फ़ाइल को सीधे आपके ब्राउज़र से, बिना कुकी के फ़ेच करता है, इसलिए जो सर्वर क्रॉस-ओरिजिन रिक्वेस्ट रोकते हैं, उनकी फ़ाइल को अपलोड या पेस्ट करना होगा। हर स्पेक अधिकतम 5 MB का हो सकता है। बाहरी $ref फ़ाइलों की रिपोर्ट दी जाती है, पर उन्हें फ़ेच नहीं किया जाता। सर्वर, कॉलबैक, वेबहुक, लिंक और वेंडर एक्सटेंशन की तुलना नहीं होती, और नियम संभावित क्लाइंट प्रभाव बताते हैं, उसकी गारंटी नहीं देते: सख़्त या उदार सर्वर अलग व्यवहार कर सकता है।
