API टेस्टिंग क्या है?
API टेस्टिंग किसी सर्विस को उसकी स्क्रीन के बजाय उसके इंटरफ़ेस से जाँचती है: चुने हुए मेथड, हेडर और बॉडी के साथ रिक्वेस्ट भेजें, फिर स्टेटस कोड, रिस्पॉन्स हेडर, बॉडी की संरचना और वैल्यू, और लगा समय सत्यापित करें। UI के नीचे चलने के कारण यह तेज़ और स्थिर है और इंटीग्रेशन दोष पहले पकड़ती है — इसीलिए रिग्रेशन सूट API-फ़र्स्ट बनाए जाते हैं।
गाइड पढ़ें: API टेस्टिंग क्या है? REST API कैसे टेस्ट करें
API रिस्पॉन्स एनालाइज़र कैसे इस्तेमाल करें
- JSON रिस्पॉन्स बॉडी पेस्ट करें।
- Analyze दबाएँ।
- पहले निष्कर्षों की सूची पढ़ें, फिर तालिकाओं में गहराई से जाएँ (असंगत टाइप, फ़ॉर्मैट, ख़ाली फ़ील्ड)।
- CSV फ़ाइलें API के मालिक के साथ साझा करें या उन्हें बग के साथ अटैच करें।
API रिस्पॉन्स एनालाइज़र की खूबियाँ
- अवलोकन: root टाइप, key की गिनती, गहराई, object/array/null, pretty बनाम minified साइज़
- डेटा-क्वालिटी निष्कर्ष: null, ख़ाली वैल्यू, array आइटम के बीच असंगत टाइप, स्ट्रिंग के रूप में भेजे गए नंबर/boolean, मिले-जुले id और timestamp फ़ॉर्मैट, डुप्लिकेट, गहरी nesting
- टाइप वितरण और पहचाने गए वैल्यू फ़ॉर्मैट (uuid, email, url, ISO date, Unix timestamp, IP, JWT…)
- सबसे बड़े array, सबसे लंबे स्ट्रिंग और सबसे ज़्यादा आने वाले key
- लोकल रूप से चलता है; हर तालिका के लिए CSV डाउनलोड
API रिस्पॉन्स एनालाइज़र का उदाहरण
असंगत फ़ील्ड पकड़ना
इनपुट:
{ "data": [ { "id": "usr_1001", "age": 29, "createdAt": "2025-03-01T10:15:00Z" }, { "id": 1002, "age": "31", "createdAt": 1740823200 } ] }आउटपुट:
2 fields with inconsistent types across array items — $.data[*].id (string, number), $.data[*].age (number, string)
Timestamps mix Unix epoch numbers and ISO-8601 strings — pick one representation.API रिस्पॉन्स एनालाइज़र के बारे में अक्सर पूछे जाने वाले सवाल
यह कौन-सी समस्याएँ पकड़ता है?
null और ख़ाली फ़ील्ड, ऐसे फ़ील्ड जिनका टाइप array आइटम के बीच बदल जाता है, स्ट्रिंग के रूप में भेजे गए नंबर और boolean, मिले-जुले id फ़ॉर्मैट, timestamp दिखाने के अलग-अलग तरीक़े, डुप्लिकेट array आइटम, गहरी nesting और बहुत बड़े array।
क्या यह मेरा रिस्पॉन्स कहीं भेजता है?
नहीं, विश्लेषण पूरी तरह आपके ब्राउज़र में चलता है।
फ़ॉर्मैट कैसे पहचाने जाते हैं?
वैल्यू के पैटर्न और key के नामों से: UUID, ईमेल, URL, ISO date और date-time, Unix timestamp (सेकंड/मिलीसेकंड), IP, JWT, base64 ब्लॉब और id जैसे स्ट्रिंग।
क्या कोई साइज़ सीमा है?
2 MB तक के डॉक्युमेंट स्वीकार किए जाते हैं; विश्लेषण 200,000 नोड के बाद रुक जाता है और आपको बता देता है कि ऐसा हुआ।
तकनीकी नोट्स
array index वाले path को [*] में सामान्य कर दिया जाता है ताकि आइटम के बीच एक ही फ़ील्ड की तुलना हो सके। फ़ॉर्मैट पहचान वैल्यू के पैटर्न को key के नामों के साथ जोड़ती है (उदाहरण के लिए createdAt नाम वाला 10 अंकों का नंबर Unix timestamp माना जाता है)।
संदर्भ
- RFC 9110: HTTP SemanticsHTTP मेथड, हेडर फ़ील्ड, स्टेटस कोड और कंटेंट निगोशिएशन के अर्थ, वायर वर्ज़न से स्वतंत्र।
- OpenAPI SpecificationREST API के वर्णन का मानक: पाथ, ऑपरेशन, पैरामीटर, स्कीमा, रिस्पॉन्स और सिक्योरिटी स्कीम।
- OWASP Cheat Sheet Series: REST SecurityREST API के सुरक्षा नियम: HTTPS, हर रिक्वेस्ट पर ऑथेंटिकेशन, इनपुट वैलिडेशन, सुरक्षित एरर रिस्पॉन्स, रेट लिमिटिंग।