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 میں ورک اسپیس فولڈرز میں تقسیم شدہ درخواستوں کا درخت رکھتا ہے۔ ہر درخواست 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 اسکرپٹس کے ذریعے اسٹیٹس کوڈ اور جوابی باڈی پر تصدیقی جملے (assertions) سپورٹ کیے جاتے ہیں۔
# 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 ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں