API रिस्पॉन्स वैलिडेटर

ब्राउज़र में चलता है API टेस्टिंग

अपेक्षाएँ तय करें (स्टेटस कोड, हेडर, content type, JSON Schema या सरल फ़ील्ड नियम) और पेस्ट किए गए रिस्पॉन्स को जाँचें — नतीजा एक pass/fail चेकलिस्ट।

गोपनीयता: यह टूल पूरी तरह आपके ब्राउज़र में चलता है। आपका इनपुट कभी आपके डिवाइस से बाहर नहीं जाता।
टूल लोड हो रहा है…

API टेस्टिंग क्या है?

API टेस्टिंग किसी सर्विस को उसकी स्क्रीन के बजाय उसके इंटरफ़ेस से जाँचती है: चुने हुए मेथड, हेडर और बॉडी के साथ रिक्वेस्ट भेजें, फिर स्टेटस कोड, रिस्पॉन्स हेडर, बॉडी की संरचना और वैल्यू, और लगा समय सत्यापित करें। UI के नीचे चलने के कारण यह तेज़ और स्थिर है और इंटीग्रेशन दोष पहले पकड़ती है — इसीलिए रिग्रेशन सूट API-फ़र्स्ट बनाए जाते हैं।

गाइड पढ़ें: API टेस्टिंग क्या है? REST API कैसे टेस्ट करें

API रिस्पॉन्स वैलिडेटर कैसे इस्तेमाल करें

  1. रिस्पॉन्स पेस्ट करें (curl -i, प्रॉक्सी या DevTools से) या सिर्फ़ उसकी JSON बॉडी।
  2. अपेक्षित स्टेटस और हेडर डालें, हर लाइन में एक फ़ील्ड नियम, और चाहें तो एक स्कीमा भी।
  3. जाँचें। हर अपेक्षा PASS, FAIL या ERROR (जो नियम पार्स नहीं हो सके) वाली एक पंक्ति बन जाती है।
  4. चेकलिस्ट अपनी टेस्ट रिपोर्ट में कॉपी करें।

API रिस्पॉन्स वैलिडेटर की खूबियाँ

  • कच्चा HTTP रिस्पॉन्स (status line + हेडर + बॉडी) या सिर्फ़ JSON बॉडी — दोनों स्वीकार करता है
  • अपेक्षित स्टेटस (200, 2xx, 200,201 या 200-204) और हेडर अपेक्षाएँ (contains / exists)
  • JSONPath फ़ील्ड नियम: exists, ==, !=, तुलनाएँ, type, length, matches, contains, in, empty, null
  • वैकल्पिक JSON Schema वैलिडेशन, उल्लंघनों की तालिका के साथ
  • असली वैल्यू सहित pass/fail चेकलिस्ट, CSV में डाउनलोड करने योग्य

API रिस्पॉन्स वैलिडेटर का उदाहरण

यूज़र रिस्पॉन्स की जाँच

इनपुट:

HTTP/1.1 200 OK
Content-Type: application/json

{ "status": "ok", "data": { "id": "usr_1029", "email": "layla@example.com" } }

Rules: $.data.id exists · $.data.email matches ^\S+@\S+$ · $.data.password not exists

आउटपुट:

PASS · 5 checks
status 2xx — Status 200 is 2xx.
Content-Type: application/json — contains "application/json".
$.data.id exists — exists.
$.data.email matches … — matches.
$.data.password not exists — absent.

API रिस्पॉन्स वैलिडेटर के बारे में अक्सर पूछे जाने वाले सवाल

मैं क्या पेस्ट कर सकता हूँ?

या तो कच्चा HTTP रिस्पॉन्स (status line, हेडर, ख़ाली लाइन, बॉडी — जैसा curl -i छापता है) या सिर्फ़ JSON बॉडी। स्टेटस और हेडर की जाँच के लिए कच्चा रिस्पॉन्स ज़रूरी है।

कौन-से फ़ील्ड नियम सपोर्ट किए जाते हैं?

JSONPath के बाद एक शर्त: exists, not exists, == value, != value, > < >= <= n, type string|number|integer|boolean|array|object|null, length >= n, matches <regex>, contains <x>, in [a, b], empty, not empty, null, not null।

क्या मैं JSON Schema भी इस्तेमाल कर सकता हूँ?

हाँ। कोई स्कीमा पेस्ट करें (draft-07 / 2019-09 / 2020-12 keyword) और बॉडी उसके आधार पर जाँची जाएगी; उल्लंघन उनके path के साथ सूचीबद्ध होते हैं।

क्या टूल मेरे लिए URL फ़ेच करता है?

नहीं — यह वही जाँचता है जो आप पेस्ट करते हैं। रिक्वेस्ट भेजकर लाइव assertion लगाने के लिए REST API टेस्टर इस्तेमाल करें।

तकनीकी नोट्स

नियम पहले JSONPath match पर लागू होते हैं। तुलना की literal वैल्यू JSON के रूप में पार्स होती हैं (इसलिए 42, true और "text" उम्मीद के मुताबिक़ काम करते हैं); ग़ैर-संख्यात्मक operand चुपचाप पास होने के बजाय साफ़ संदेश के साथ संख्यात्मक तुलना में फ़ेल होते हैं।

संदर्भ

  • RFC 9110: HTTP SemanticsIETF · 2022HTTP मेथड, हेडर फ़ील्ड, स्टेटस कोड और कंटेंट निगोशिएशन के अर्थ, वायर वर्ज़न से स्वतंत्र।
  • OpenAPI SpecificationOpenAPI InitiativeREST API के वर्णन का मानक: पाथ, ऑपरेशन, पैरामीटर, स्कीमा, रिस्पॉन्स और सिक्योरिटी स्कीम।
  • OWASP Cheat Sheet Series: REST SecurityOWASP FoundationREST API के सुरक्षा नियम: HTTPS, हर रिक्वेस्ट पर ऑथेंटिकेशन, इनपुट वैलिडेशन, सुरक्षित एरर रिस्पॉन्स, रेट लिमिटिंग।