API रिस्पॉन्स वैलिडेटर कैसे इस्तेमाल करें
- रिस्पॉन्स पेस्ट करें (curl -i, प्रॉक्सी या DevTools से) या सिर्फ़ उसकी JSON बॉडी।
- अपेक्षित स्टेटस और हेडर डालें, हर लाइन में एक फ़ील्ड नियम, और चाहें तो एक स्कीमा भी।
- जाँचें। हर अपेक्षा PASS, FAIL या ERROR (जो नियम पार्स नहीं हो सके) वाली एक पंक्ति बन जाती है।
- चेकलिस्ट अपनी टेस्ट रिपोर्ट में कॉपी करें।
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 चुपचाप पास होने के बजाय साफ़ संदेश के साथ संख्यात्मक तुलना में फ़ेल होते हैं।