Insomnia REST, GraphQL और WebSocket API के परीक्षण के लिए एक ओपन-सोर्स डेस्कटॉप HTTP क्लाइंट है। यह टूल अपने न्यूनतम इंटरफ़ेस, बिल्ट-इन अनुरोध संपादक और रजिस्ट्रेशन की आवश्यकता के बिना एनवायरनमेंट वेरिएबल सपोर्ट के लिए जाना जाता है। Insomnia Documentation (2026) के अनुसार, क्लाइंट 20+ प्रोग्रामिंग भाषाओं में कोड का ऑटो-जनरेशन समर्थित करता है।
मुख्य बातें
Insomnia HTTP अनुरोध भेजने और API को डीबग करने के लिए एक क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन (Electron) है। इसे 2016 से Kong कंपनी द्वारा गति और गोपनीयता पर ज़ोर देते हुए Postman के विकल्प के रूप में विकसित किया जा रहा है: डेटा स्थानीय रूप से संग्रहीत होता है, क्लाउड सिंक्रनाइज़ेशन वैकल्पिक है और रजिस्ट्रेशन की आवश्यकता होती है।
मुख्य विंडो तीन कॉलम में विभाजित है: बाईं ओर अनुरोध ट्री (Workspace), केंद्र में Params, Headers, Body टैब के साथ अनुरोध संपादक, दाईं ओर Pretty, Raw और Preview मोड के साथ उत्तर पैनल। डार्क थीम डिफ़ॉल्ट रूप से सक्षम है, CSS वेरिएबल के माध्यम से कस्टम थीम समर्थित हैं।
Insomnia अनुरोध को 20+ भाषाओं और फ़्रेमवर्क में कोड में निर्यात करने का समर्थन करता है: cURL, HTTPie, Python Requests, JavaScript Fetch/Axios, Kotlin OkHttp, Swift URLSession, Java Unirest, Ruby Net::HTTP और अन्य। जेनरेटर हेडर, अनुरोध के बॉडी और प्रमाणीकरण के प्रकार को ध्यान में रखता है, जिससे एप्लिकेशन कोड में API एकीकरण तेज़ होता है।
Insomnia और Postman एक ही कार्य हल करते हैं, लेकिन अलग-अलग प्राथमिकताओं के साथ। Insomnia हल्का है (~80 MB बनाम ~300 MB), तेज़ी से प्रारंभ होता है और रजिस्ट्रेशन थोपे बिना पूरी तरह ऑफ़लाइन काम करता है। Postman मॉनिटरिंग, मॉक-सर्वर और टीम वर्कस्पेस के साथ अधिक परिपक्व इकोसिस्टम प्रदान करता है।
| मानदंड | Insomnia | Postman |
|---|---|---|
| ऐप का आकार | ~80 MB | ~300 MB |
| ऑफ़लाइन मोड | पूर्ण | सीमित |
| GraphQL | बिल्ट-इन संपादक | बीटा संस्करण |
| CLI | Inso CLI | Newman |
| प्लगिन | Plugin Hub | एक्सटेंशन |
व्यक्तिगत डेवलपमेंट और एंडपॉइंट के त्वरित परीक्षण के लिए Insomnia अपनी हल्की प्रकृति और रजिस्ट्रेशन की अनुपस्थिति के कारण अधिक सुविधाजनक है। साझा कलेक्शन, CI/CD एकीकरण और प्रोडक्शन API की मॉनिटरिंग के साथ टीम वर्क के लिए Postman उद्योग मानक बना हुआ है।
Insomnia में Workspace में फ़ोल्डरों में विभाजित अनुरोध ट्री होता है। प्रत्येक अनुरोध HTTP, GraphQL, WebSocket या gRPC प्रकार का हो सकता है। ड्रैग-एंड-ड्रॉप, डुप्लिकेशन और रंग लेबल द्वारा अनुरोधों का समूहीकरण समर्थित है। वर्कस्पेस कॉन्फ़िगरेशन फ़ाइल JSON प्रारूप में संग्रहीत होती है।
Insomnia नेस्टेड एनवायरनमेंट (Sub Environments) समर्थित करता है जो पैरेंट के वेरिएबल इनहेरिट करते हैं। यह वैश्विक एनवायरनमेंट में बेस URL परिभाषित करने और विभिन्न वातावरणों के लिए केवल भिन्न पैरामीटर को पुनः परिभाषित करने की अनुमति देता है। वेरिएबल सिंटैक्स {`{`}_variable${`}`} के माध्यम से प्रतिस्थापित किए जाते हैं।
// Insomnia एनवायरनमेंट संरचना का उदाहरण
{
"base_url": "https://api.example.com",
"timeout": 5000,
"headers": {
"Content-Type": "application/json",
"Accept": "application/json"
}
}
Insomnia API क्लाइंटों में सर्वश्रेष्ठ GraphQL संपादकों में से एक प्रदान करता है। GraphQL Query टैब लोड की गई स्कीमा के आधार पर फ़ील्ड ऑटोकंप्लीट के साथ अनुरोध लिखने की अनुमति देता है। दाईं ओर प्रकार, फ़ील्ड और आर्ग्युमेंट के बारे में दस्तावेज़ीकरण वास्तविक समय में प्रदर्शित होता है।
स्कीमा एंडपॉइंट पर GraphQL Introspection अनुरोध के माध्यम से लोड होती है। Insomnia स्कीमा को स्थानीय रूप से कैश करता है और परिवर्तनों पर स्वचालित रूप से अद्यतन करता है। लोडिंग के बाद ऑटोकंप्लीट (Ctrl+Space), अनुरोध सत्यापन और भेजने से पहले संभावित त्रुटियों का पूर्वावलोकन उपलब्ध होता है।
# Insomnia में वेरिएबल के साथ GraphQL क्वेरी
query GetUser($id: ID!) {
user(id: $id) {
name
email
posts {
title
createdAt
}
}
}
Insomnia Plugin Hub में 100 से अधिक प्लगिन हैं जो क्लाइंट की कार्यक्षमता का विस्तार करते हैं। प्लगिन Preferences → Plugins मेनू के माध्यम से या npm के माध्यम से मैन्युअल रूप से स्थापित किए जाते हैं। लोकप्रिय श्रेणियों में परीक्षण डेटा जनरेशन, विभिन्न प्रारूपों में निर्यात और कस्टम उत्तर सत्यापनकर्ता शामिल हैं। प्रत्येक प्लगिन सार्वजनिक डेवलपर हब में प्रकाशन से पहले अनिवार्य मॉडरेशन से गुजरता है।
प्लगिन JavaScript में लिखे जाते हैं और टेम्पलेटिंग API (response.*, request.*, environment.*) के माध्यम से Insomnia के साथ इंटरैक्ट करते हैं। प्लगिन विकसित करने के लिए Node.js का बुनियादी ज्ञान और insomnia-plugin टैग के साथ npm पैकेज के माध्यम से प्रकाशन आवश्यक है।
Inso CLI टर्मिनल से अनुरोधों और परीक्षणों को चलाने के लिए Insomnia में निर्मित एक कंसोल उपयोगिता है। Inso अलग-अलग अनुरोध या पूरे कलेक्शन चलाता है, परिणामों को JSON में निर्यात करता है और CI/CD पाइपलाइनों में एकीकृत हो सकता है। inso run collection कमांड कलेक्शन में सभी अनुरोधों को क्रमिक रूप से निष्पादित करता है।
Inso CLI Docker कंटेनरों और हेडलेस मोड में काम करता है, जो इसे GitHub Actions और GitLab CI में उपयोग करने की अनुमति देता है। लॉन्च कॉन्फ़िगरेशन YAML फ़ाइल में निर्यात किए गए कलेक्शन और एनवायरनमेंट के पथ को निर्दिष्ट करते हुए वर्णित किया जाता है। JavaScript स्क्रिप्ट के माध्यम से स्टेटस कोड और उत्तर बॉडी पर एसर्शन समर्थित हैं।
# Inso CLI के साथ GitHub Actions वर्कफ़्लो
- name: Run API tests
run: npx insomnia-inso run collection
--collection "Auth API"
--env "Staging"
--reporter junit
--output reports/api-results.xml
Insomnia Git के माध्यम से कलेक्शन सिंक्रनाइज़ेशन समर्थित करता है। कलेक्शन फ़ाइलें JSON प्रारूप में संग्रहीत होती हैं और प्रोजेक्ट रिपॉज़िटरी में जोड़ी जा सकती हैं। Insomnia परिवर्तन देखने, कमिट बनाने और इंटरफ़ेस से सीधे मर्ज विवादों को हल करने के लिए बिल्ट-इन Git क्लाइंट प्रदान करता है।
Git कनेक्ट करने के लिए रिपॉज़िटरी के साथ एक स्थानीय फ़ोल्डर बनाएं और इसे Insomnia सेटिंग्स में रूट डायरेक्टरी के रूप में निर्दिष्ट करें। एप्लिकेशन कलेक्शन फ़ाइलों में परिवर्तनों को स्वचालित रूप से ट्रैक करता है और उन्हें Version Control पैनल में प्रदर्शित करता है। मानक संचालन समर्थित हैं: commit, push, pull और संस्करणों के बीच diff देखना।
Git के बिना परियोजनाओं के लिए Insomnia Insomnia Cloud के माध्यम से क्लाउड सिंक्रनाइज़ेशन प्रदान करता है। निःशुल्क योजना में टीम के 3 सदस्यों तक और कलेक्शन का स्वचालित बैकअप शामिल है। भुगतान योजनाएँ एक्सेस प्रबंधन, परिवर्तन ऑडिट और प्राथमिकता समर्थन जोड़ती हैं।
| सिंक्रनाइज़ेशन विधि | निःशुल्क | ऑफ़लाइन | संस्करण नियंत्रण |
|---|---|---|---|
| Git (स्थानीय) | हाँ | हाँ | पूर्ण (commit, diff, merge) |
| Insomnia Cloud | 3 उपयोगकर्ताओं तक | नहीं | बुनियादी (परिवर्तन इतिहास) |
| फ़ाइल निर्यात | हाँ | हाँ | मैन्युअल (संस्करण नियंत्रण प्रणाली के माध्यम से) |
Insomnia में Design Mode OpenAPI 3.0 प्रारूप में API स्पेसिफिकेशन बनाने की अनुमति देता है। यह मोड एक विज़ुअल संपादक के रूप में काम करता है: YAML मैन्युअल रूप से लिखे बिना एंडपॉइंट और डेटा स्कीमा परिभाषित करें। स्पेसिफिकेशन को JSON या YAML में निर्यात किया जा सकता है।
Insomnia OpenAPI स्पेसिफिकेशन आयात करता है और प्रत्येक एंडपॉइंट के लिए अनुरोधों का एक कलेक्शन बनाता है। पथ और स्कीमा तैयार HTTP अनुरोधों में परिवर्तित हो जाते हैं। यह सुविधा माइक्रोसर्विसेज़ के साथ एकीकरण में उपयोगी है, जहाँ स्पेसिफिकेशन टीम के अलग रिपॉज़िटरी में संग्रहीत होती है।
प्रत्येक अनुरोध को एक रंगीन लेबल सौंपा जा सकता है: red, blue, green, orange, purple। टैग द्वारा फ़िल्टरिंग फ़ोल्डर संरचना से स्वतंत्र रूप से खोज बार के माध्यम से काम करती है, जो सैकड़ों एंडपॉइंट और कई मॉड्यूल वाली परियोजनाओं में नेविगेशन को सरल बनाती है।
Insomnia में Design Mode एप्लिकेशन के भीतर ही OpenAPI 3.0 प्रारूप में API स्पेसिफिकेशन बनाने की अनुमति देता है। यह मोड एक विज़ुअल संपादक के रूप में काम करता है: YAML मैन्युअल रूप से लिखे बिना एंडपॉइंट, डेटा स्कीमा और पैरामीटर परिभाषित करें। स्पेसिफिकेशन को रिपॉज़िटरीज़ में प्रकाशन के लिए JSON या YAML में निर्यात किया जा सकता है।
Insomnia मौजूदा OpenAPI स्पेसिफिकेशन आयात करता है और प्रत्येक एंडपॉइंट के लिए स्वचालित रूप से अनुरोधों का एक कलेक्शन बनाता है। पथ और स्कीमा सही डेटा प्रकारों के साथ तैयार HTTP अनुरोधों में परिवर्तित हो जाते हैं। यह सुविधा माइक्रोसर्विसेज़ के साथ एकीकरण में उपयोगी है, जहाँ स्पेसिफिकेशन को एक अलग बैकएंड डेवलपमेंट टीम द्वारा संग्रहीत और बनाए रखा जाता है।
बड़ी संख्या में अनुरोधों को व्यवस्थित करने के लिए Insomnia टैगिंग समर्थित करता है — प्रत्येक अनुरोध को एक रंगीन लेबल सौंपा जा सकता है: red, blue, green, orange, purple। टैग द्वारा फ़िल्टरिंग फ़ोल्डर संरचना से स्वतंत्र रूप से खोज बार के माध्यम से काम करती है, जो सैकड़ों एंडपॉइंट और कई कार्यात्मक API मॉड्यूल वाली परियोजनाओं में नेविगेशन को सरल बनाती है।
अक्सर पूछे जाने वाले प्रश्न
नहीं, रजिस्ट्रेशन अनिवार्य नहीं है। Insomnia पूरी तरह ऑफ़लाइन काम करता है। क्लाउड सिंक्रनाइज़ेशन टीम वर्क के लिए एक विकल्प के रूप में उपलब्ध है, लेकिन सभी डेटा फ़ोल्डर ~/.config/Insomnia/ में JSON फ़ाइलों में स्थानीय रूप से संग्रहीत होता है।
Postman से कलेक्शन को JSON प्रारूप (Collection v2.1) में निर्यात करें। Insomnia में Import/Export → Import Data → From File चुनें। Insomnia कलेक्शन को अनुरोधों, हेडर और एनवायरनमेंट वेरिएबल के संरक्षण के साथ स्वचालित रूप से परिवर्तित करता है।
हाँ, 2022 संस्करण से। Insomnia WebSocket और Socket.IO प्रोटोकॉल समर्थित करता है। WebSocket प्रकार का एक नया अनुरोध बनाएं, URL (ws:// या wss://) निर्दिष्ट करें और चैट इंटरफ़ेस के माध्यम से संदेश भेजें।
Inso CLI कंसोल से कलेक्शन चलाने के लिए Insomnia की मूल उपयोगिता है। Newman Postman के लिए समकक्ष है। Inso हल्का है, अलग स्थापना की आवश्यकता नहीं है (Insomnia के साथ आता है) और GraphQL सहित सभी प्रकार के Insomnia अनुरोधों का समर्थन करता है।
हाँ, Insomnia gRPC टैब के माध्यम से gRPC अनुरोध समर्थित करता है। सेवा की परिभाषा के साथ .proto फ़ाइल लोड करना आवश्यक है। लोडिंग के बाद Insomnia उपलब्ध RPC विधियाँ प्रदर्शित करता है और भेजने के लिए बाइनरी Protobuf संदेश उत्पन्न करता है।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें