API मॉकिंग क्या है?
मॉक API असली सर्विस की जगह पहले से तय रिस्पॉन्स लौटाता है ताकि फ़्रंटएंड, इंटीग्रेशन या टेस्ट सूट बैकएंड के बनने से पहले या उस पर निर्भर हुए बिना बनाया और चलाया जा सके। अच्छे मॉक असली कॉन्ट्रैक्ट को दोहराते हैं — स्टेटस कोड, हेडर, पेजिनेशन, एरर बॉडी — वरना टेस्ट मॉक पर पास होते हैं और प्रोडक्शन पर फ़ेल।
गाइड पढ़ें: API टेस्टिंग क्या है? REST API कैसे टेस्ट करें
Mock API डेटासेट जनरेटर कैसे इस्तेमाल करें
- हर रिसोर्स को name(count) -> parent: field, field के रूप में लिखें।
- id की शैली चुनें और चाहें तो एक seed दें।
- Generate दबाएँ, db.json डाउनलोड करें और npx json-server db.json चलाएँ।
Mock API डेटासेट जनरेटर की खूबियाँ
- एक जैसे foreign key के साथ जुड़े हुए रिसोर्स (users → posts → comments)
- integer या UUID id वाली json-server के अनुकूल db.json
- फ़ील्ड के नाम से अनुमान लगाए गए या साफ़-साफ़ दिए गए प्लेसहोल्डर
- users, posts, comments, products, orders, customers, invoices और tasks के लिए डिफ़ॉल्ट ढाँचे
- संबंधों की तालिका, रिकॉर्ड की गिनती और चलाने के लिए तैयार उदाहरण स्निपेट
Mock API डेटासेट जनरेटर का उदाहरण
ब्लॉग डेटासेट
इनपुट:
users(3): name, email
posts(5) -> users: title
comments(6) -> posts, users: bodyआउटपुट:
{
"users": [{ "id": 1, "name": "Mia Bennett", "email": "mia.bennett@example.com" }, …],
"posts": [{ "id": 1, "userId": 2, "title": "Notes on granite pipelines" }, …],
"comments": [{ "id": 1, "postId": 4, "userId": 1, "body": "Thank you for contacting our support team." }, …]
}Mock API डेटासेट जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
रिसोर्स और संबंध कैसे परिभाषित करें?
हर रिसोर्स के लिए एक पंक्ति: users(10): name, email, फिर posts(30) -> users: title, body। चाइल्ड रिकॉर्ड को <parent>Id foreign key मिलती है जो किसी मौजूदा पैरेंट रिकॉर्ड की ओर इशारा करती है; एक से ज़्यादा पैरेंट भी दिए जा सकते हैं।
क्या आउटपुट json-server के अनुकूल है?
हाँ। इसे db.json के नाम से सहेजें और npx json-server db.json चलाएँ — आपको फ़िल्टरिंग (?userId=1), sorting और पेजिनेशन वाले REST रूट अपने-आप मिल जाते हैं। usage पैनल में सभी रूट सूचीबद्ध रहते हैं।
फ़ील्ड की वैल्यू कैसे चुनी जाती हैं?
फ़ील्ड के नाम से (email, price, createdAt, isActive…) या साफ़-साफ़ दिए गए प्लेसहोल्डर से, जैसे price:price:5-500। users, posts, comments, products, orders या customers नाम वाले रिसोर्स के लिए उपयुक्त डिफ़ॉल्ट पहले से मौजूद हैं।
डेटासेट कितना बड़ा हो सकता है?
कुल मिलाकर 20,000 रिकॉर्ड तक। टेस्ट और डेमो में दोहराने योग्य डेटासेट के लिए seed इस्तेमाल करें।
संदर्भ
- OpenAPI SpecificationREST API के वर्णन का मानक: पाथ, ऑपरेशन, पैरामीटर, स्कीमा, रिस्पॉन्स और सिक्योरिटी स्कीम।
- RFC 9110: HTTP SemanticsHTTP मेथड, हेडर फ़ील्ड, स्टेटस कोड और कंटेंट निगोशिएशन के अर्थ, वायर वर्ज़न से स्वतंत्र।
- RFC 8288: Web LinkingAPI पेजिनेशन के लिए इस्तेमाल होने वाला Link हेडर और लिंक रिलेशन (next, prev, first, last)।