Insomnia — یہ کیا ہے، ڈویلپمنٹ میں REST اور GraphQL کلائنٹ

مصنف: IT Sectr اشاعت: 2026-05-08 مطالعے کا وقت: 8 منٹ

Insomnia REST، GraphQL اور WebSocket API کی جانچ کے لیے ایک اوپن سورس ڈیسک ٹاپ HTTP کلائنٹ ہے۔ یہ ٹول اپنے کم سے کم انٹرفیس، بلٹ ان درخواست ایڈیٹر اور رجسٹریشن کی ضرورت کے بغیر ماحولیاتی متغیرات کی معاونت کے لیے جانا جاتا ہے۔ Insomnia Documentation (2026) کے مطابق، کلائنٹ 20 سے زائد پروگرامنگ زبانوں میں کوڈ کی خودکار تخلیق کی حمایت کرتا ہے۔

اہم نکات

  • Insomnia ایک مفت REST اور GraphQL کلائنٹ ہے جو کارکردگی اور کلاؤڈ مطابقت کے بغیر مقامی کام پر مرکوز ہے۔
  • Insomnia میں ماحولیات نحو کی نمایاں کاری والی JSON فائلوں کے ذریعے متغیرات کی گھریلو کرن اور وراثت کو سپورٹ کرتی ہیں۔
  • GraphQL ایڈیٹر میں سکیما خودکار تکمیل، اقسام کی دستاویزات اور GraphQL ٹیب کے ذریعے بصری استفسار کی تعمیر شامل ہے۔
  • Code Generation درخواست کو cURL، Python، JavaScript، Kotlin، Swift، Rust اور دیگر زبانوں میں کوڈ میں تبدیل کرتا ہے۔
  • پلگ ان سسٹم ٹیگنگ، برآمد اور ڈیٹا تخلیق کے لیے تیسرے فریق کے پلگ انز کے ذریعے فعالیت کو وسعت دیتا ہے۔

Insomnia کیا ہے اور اہم خصوصیات

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: API کلائنٹس کا موازنہ

Insomnia اور Postman ایک ہی کام حل کرتے ہیں لیکن مختلف ترجیحات کے ساتھ۔ Insomnia ہلکا ہے (~80 MB بمقابلہ ~300 MB)، تیزی سے شروع ہوتا ہے اور رجسٹریشن مسلط کیے بغیر مکمل طور پر آف لائن کام کرتا ہے۔ Postman نگرانی، موک سرورز اور ٹیم ورک اسپیس کے ساتھ زیادہ پختہ ماحولیاتی نظام پیش کرتا ہے۔

معیارInsomniaPostman
ایپ کا حجم~80 MB~300 MB
آف لائن موڈمکملمحدود
GraphQLبلٹ ان ایڈیٹربیٹا ورژن
CLIInso CLINewman
پلگ انزPlugin Hubایکسٹینشنز

کام کے مطابق ٹول کا انتخاب

انفرادی ڈویلپمنٹ اور اینڈ پوائنٹس کی تیز جانچ کے لیے Insomnia اپنی ہلکا پن اور رجسٹریشن کی عدم موجودگی کی وجہ سے زیادہ آسان ہے۔ مشترکہ کلیکشن، CI/CD انضمام اور پروڈکشن API کی نگرانی کے ساتھ ٹیم ورک کے لیے Postman صنعت کا معیار بنی ہوئی ہے۔

ورک اسپیس اور ماحولیات کی تنظیم

Insomnia میں ورک اسپیس فولڈرز میں تقسیم شدہ درخواستوں کا درخت رکھتا ہے۔ ہر درخواست HTTP، GraphQL، WebSocket یا gRPC قسم کی ہو سکتی ہے۔ ڈریگ اینڈ ڈراپ، نقل اور رنگین لیبلز کے ذریعے درخواستوں کی گروپ بندی سپورٹ کی جاتی ہے۔ ورک اسپیس کنفیگریشن فائل JSON فارمیٹ میں ذخیرہ ہوتی ہے۔

وراثت کے ساتھ ماحولیاتی متغیرات

Insomnia گھریلو ماحولیات (Sub Environments) کو سپورٹ کرتا ہے جو والدین کے متغیرات وراثت میں لیتی ہیں۔ یہ عالمی ماحول میں بنیادی URL کی وضاحت اور مختلف ماحول کے لیے صرف مختلف پیرامیٹرز کی از سر نو وضاحت کی اجازت دیتا ہے۔ متغیرات نحو {`{`}_variable${`}`} کے ذریعے تبدیل کیے جاتے ہیں۔

json
// Insomnia ماحول کی ساخت کی مثال
{
    "base_url": "https://api.example.com",
    "timeout": 5000,
    "headers": {
        "Content-Type": "application/json",
        "Accept": "application/json"
    }
}

Insomnia میں GraphQL کے ساتھ کام

Insomnia API کلائنٹس کے درمیان بہترین GraphQL ایڈیٹرز میں سے ایک فراہم کرتا ہے۔ GraphQL Query ٹیب لوڈ شدہ سکیما کی بنیاد پر فیلڈ خودکار تکمیل کے ساتھ استفسارات لکھنے کی اجازت دیتا ہے۔ دائیں جانب اقسام، فیلڈز اور دلائل کے بارے میں دستاویزات حقیقی وقت میں ظاہر ہوتی ہیں۔

سکیما لوڈ کرنا اور Introspection

سکیما اینڈ پوائنٹ پر GraphQL Introspection درخواست کے ذریعے لوڈ ہوتی ہے۔ Insomnia سکیما کو مقامی طور پر کیش کرتا ہے اور تبدیلیوں پر خودکار طور پر اپ ڈیٹ کرتا ہے۔ لوڈنگ کے بعد خودکار تکمیل (Ctrl+Space)، درخواست کی توثیق اور بھیجنے سے پہلے ممکنہ غلطیوں کا پیش نظارہ دستیاب ہو جاتا ہے۔

graphql
# Insomnia میں متغیرات کے ساتھ GraphQL استفسار
query GetUser($id: ID!) {
    user(id: $id) {
        name
        email
        posts {
            title
            createdAt
        }
    }
}

پلگ انز اور صلاحیتوں کی توسیع

Insomnia Plugin Hub میں 100 سے زائد پلگ انز ہیں جو کلائنٹ کی فعالیت کو وسعت دیتے ہیں۔ پلگ انز Preferences → Plugins مینو کے ذریعے یا npm کے ذریعے دستی طور پر نصب کیے جاتے ہیں۔ مقبول زمروں میں ٹیسٹ ڈیٹا کی تخلیق، مختلف فارمیٹس میں برآمد اور حسب ضرورت جوابی تصدیق کار شامل ہیں۔ ہر پلگ ان عوامی ڈویلپر ہب میں اشاعت سے پہلے لازمی اعتدال سے گزرتا ہے۔

مقبول پلگ انز

  • insomnia-plugin-faker — ٹیسٹ درخواستوں کے لیے جعلی ڈیٹا (نام، ای میل، فون) کی تخلیق۔
  • insomnia-plugin-aws4 — Amazon API Gateway اور S3 کے ساتھ کام کے لیے AWS Signature Version 4 کے ذریعے درخواستوں پر دستخط۔
  • insomnia-plugin-utils — درخواستوں میں براہ راست تاریخوں، ہیشنگ اور Base64 انکوڈنگ کے ساتھ کام کے لیے افادیتی ٹولز۔

پلگ انز JavaScript میں لکھے جاتے ہیں اور ٹیمپلیٹنگ API (response.*، request.*، environment.*) کے ذریعے Insomnia کے ساتھ تعامل کرتے ہیں۔ پلگ ان تیار کرنے کے لیے Node.js کا بنیادی علم اور insomnia-plugin ٹیگ کے ساتھ npm پیکیج کے ذریعے اشاعت درکار ہے۔

CLI اور جانچ کی خودکار کاری

Inso CLI ٹرمینل سے درخواستوں اور ٹیسٹوں کو چلانے کے لیے Insomnia میں بلٹ ان ایک کنسول افادیتی ٹول ہے۔ Inso انفرادی درخواستیں یا پوری کلیکشن چلاتا ہے، نتائج کو JSON میں برآمد کرتا ہے اور CI/CD پائپ لائنز میں ضم ہو سکتا ہے۔ inso run collection کمانڈ کلیکشن میں موجود تمام درخواستوں کو ترتیب وار عمل میں لاتا ہے۔

GitHub Actions میں انضمام کی مثال

Inso CLI Docker کنٹینرز اور ہیڈ لیس موڈ میں کام کرتا ہے، جو اسے GitHub Actions اور GitLab CI میں استعمال کرنے کی اجازت دیتا ہے۔ لانچ کنفیگریشن YAML فائل میں برآمد شدہ کلیکشن اور ماحول کے راستے کی نشاندہی کے ساتھ بیان کی جاتی ہے۔ JavaScript اسکرپٹس کے ذریعے اسٹیٹس کوڈ اور جوابی باڈی پر تصدیقی جملے (assertions) سپورٹ کیے جاتے ہیں۔

yaml
# 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 کے ساتھ انضمام اور ٹیم ورک

Insomnia Git کے ذریعے کلیکشن مطابقت کی حمایت کرتا ہے۔ کلیکشن فائلیں JSON فارمیٹ میں ذخیرہ ہوتی ہیں اور پروجیکٹ ریپوزٹری میں شامل کی جا سکتی ہیں۔ Insomnia تبدیلیاں دیکھنے، کمیٹس بنانے اور انٹرفیس سے براہ راست ضم تنازعات حل کرنے کے لیے بلٹ ان Git کلائنٹ فراہم کرتا ہے۔

Git مطابقت کی ترتیب

Git جوڑنے کے لیے ریپوزٹری والا ایک مقامی فولڈر بنائیں اور اسے Insomnia سیٹنگز میں روٹ ڈائریکٹری کے طور پر ظاہر کریں۔ ایپلیکیشن کلیکشن فائلوں میں تبدیلیوں کو خودکار طور پر ٹریک کرتی ہے اور انہیں Version Control پینل میں دکھاتی ہے۔ معیاری آپریشنز سپورٹ ہوتے ہیں: commit، push، pull اور ورژن کے درمیان diff دیکھنا۔

Insomnia Cloud کے ذریعے ٹیم ورک

Git کے بغیر پروجیکٹس کے لیے Insomnia Insomnia Cloud کے ذریعے کلاؤڈ مطابقت پیش کرتا ہے۔ مفت پلان میں ٹیم کے 3 تک ارکان اور کلیکشنز کا خودکار بیک اپ شامل ہے۔ ادائیگی والے پلانز رسائی کے انتظام، تبدیلیوں کا آڈٹ اور ترجیحی معاونت شامل کرتے ہیں۔

مطابقت کا طریقہمفتآف لائنورژن کنٹرول
Git (مقامی)ہاںہاںمکمل (commit, diff, merge)
Insomnia Cloud3 صارفین تکنہیںبنیادی (تبدیلیوں کی تاریخ)
فائل برآمدہاںہاںدستی (ورژن کنٹرول سسٹم کے ذریعے)

Design Mode اور تصریحات کی تخلیق

Insomnia میں Design Mode OpenAPI 3.0 فارمیٹ میں API تصریحات بنانے کی اجازت دیتا ہے۔ یہ موڈ بصری ایڈیٹر کی طرح کام کرتا ہے: YAML دستی طور پر لکھے بغیر اینڈ پوائنٹس اور ڈیٹا سکیما کی وضاحت کریں۔ تصریح کو JSON یا YAML میں برآمد کیا جا سکتا ہے۔

OpenAPI سے کلیکشن کی تخلیق

Insomnia OpenAPI تصریحات درآمد کرتا ہے اور ہر اینڈ پوائنٹ کے لیے درخواستوں کی کلیکشن بناتا ہے۔ راستے اور سکیما تیار HTTP درخواستوں میں تبدیل ہو جاتے ہیں۔ یہ خصوصیت مائیکرو سروسز کے ساتھ انضمام میں مفید ہے، جہاں تصریح ٹیم کی الگ ریپوزٹری میں ذخیرہ ہوتی ہے۔

درخواستوں کی ٹیگنگ

ہر درخواست کو رنگین لیبل تفویض کیا جا سکتا ہے: red، blue، green، orange، purple۔ ٹیگ کے مطابق فلٹرنگ فولڈر کی ساخت سے قطع نظر سرچ بار کے ذریعے کام کرتی ہے، جو سینکڑوں اینڈ پوائنٹس اور کئی ماڈیولز والے پروجیکٹس میں نیویگیشن کو آسان بناتی ہے۔

Design Mode اور تصریحات کی تخلیق

Insomnia میں Design Mode ایپلیکیشن کے اندر ہی OpenAPI 3.0 فارمیٹ میں API تصریحات بنانے کی اجازت دیتا ہے۔ یہ موڈ بصری ایڈیٹر کی طرح کام کرتا ہے: YAML دستی طور پر لکھے بغیر اینڈ پوائنٹس، ڈیٹا سکیما اور پیرامیٹرز کی وضاحت کریں۔ تصریح کو ریپوزٹریز میں اشاعت کے لیے JSON یا YAML میں برآمد کیا جا سکتا ہے۔

OpenAPI سے کلیکشن کی تخلیق

Insomnia موجودہ OpenAPI تصریحات درآمد کرتا ہے اور ہر اینڈ پوائنٹ کے لیے خودکار طور پر درخواستوں کی کلیکشن بناتا ہے۔ راستے اور سکیما درست ڈیٹا کی اقسام کے ساتھ تیار HTTP درخواستوں میں تبدیل ہو جاتے ہیں۔ یہ خصوصیت مائیکرو سروسز کے ساتھ انضمام میں مفید ہے، جہاں تصریح کو علیحدہ بیک اینڈ ڈویلپمنٹ ٹیم ذخیرہ اور برقرار رکھتی ہے۔

درخواستوں کی ٹیگنگ اور فلٹرنگ

بڑی تعداد میں درخواستوں کو ترتیب دینے کے لیے Insomnia ٹیگنگ سپورٹ کرتا ہے — ہر درخواست کو رنگین لیبل تفویض کیا جا سکتا ہے: red، blue، green، orange، purple۔ ٹیگ کے مطابق فلٹرنگ فولڈر کی ساخت سے قطع نظر سرچ بار کے ذریعے کام کرتی ہے، جو سینکڑوں اینڈ پوائنٹس اور کئی فعال API ماڈیولز والے پروجیکٹس میں نیویگیشن کو آسان بناتی ہے۔

اکثر پوچھے گئے سوالات

کیا Insomnia کے ساتھ کام کرنے کے لیے رجسٹریشن ضروری ہے؟

نہیں، رجسٹریشن ضروری نہیں ہے۔ Insomnia مکمل طور پر آف لائن کام کرتا ہے۔ کلاؤڈ مطابقت ٹیم ورک کے لیے ایک آپشن کے طور پر دستیاب ہے، لیکن تمام ڈیٹا فولڈر ~/.config/Insomnia/ میں JSON فائلوں میں مقامی طور پر ذخیرہ ہوتا ہے۔

Postman سے Insomnia میں کلیکشن کیسے درآمد کریں؟

Postman سے کلیکشن کو JSON فارمیٹ (Collection v2.1) میں برآمد کریں۔ Insomnia میں Import/Export → Import Data → From File منتخب کریں۔ Insomnia درخواستوں، ہیڈرز اور ماحولیاتی متغیرات کو محفوظ رکھتے ہوئے کلیکشن کو خودکار طور پر تبدیل کرتا ہے۔

کیا Insomnia WebSocket سپورٹ کرتا ہے؟

ہاں، 2022 ورژن سے۔ Insomnia WebSocket اور Socket.IO پروٹوکولز کو سپورٹ کرتا ہے۔ WebSocket قسم کی ایک نئی درخواست بنائیں، URL (ws:// یا wss://) کی وضاحت کریں اور چیٹ انٹرفیس کے ذریعے پیغامات بھیجیں۔

Inso CLI Newman سے کیسے مختلف ہے؟

Inso CLI کنسول سے کلیکشنز چلانے کے لیے Insomnia کی مقامی افادیت ہے۔ Newman Postman کے لیے ہم منصب ہے۔ Inso ہلکا ہے، علیحدہ انسٹالیشن کی ضرورت نہیں رکھتا (Insomnia کے ساتھ آتا ہے) اور GraphQL سمیت Insomnia کی تمام درخواست کی اقسام کو سپورٹ کرتا ہے۔

کیا gRPC کے لیے Insomnia استعمال کیا جا سکتا ہے؟

ہاں، Insomnia gRPC ٹیب کے ذریعے gRPC درخواستوں کو سپورٹ کرتا ہے۔ سروس کی تعریف کے ساتھ .proto فائل لوڈ کرنا ضروری ہے۔ لوڈنگ کے بعد Insomnia دستیاب RPC طریقے دکھاتا ہے اور بھیجنے کے لیے بائنری Protobuf پیغام تیار کرتا ہے۔

خلاصہ

  • Insomnia مکمل آف لائن آپریشن کے ساتھ REST، GraphQL اور WebSocket کے لیے ایک ہلکا اور تیز HTTP کلائنٹ ہے۔
  • GraphQL ایڈیٹر خودکار تکمیل اور Introspection کے ذریعے سکیما لوڈنگ کے ساتھ API کلائنٹس میں بہترین حلوں میں سے ایک ہے۔
  • ماحولیات مختلف ماحول کے لیے لچکدار کنفیگریشن کے لیے متغیرات کی گھریلو کرن اور وراثت کو سپورٹ کرتی ہیں۔
  • کوڈ کی تخلیق 20 سے زائد زبانوں میں موبائل اور ویب ایپلیکیشنز میں API انضمام کو تیز کرتی ہے۔
  • Plugin Hub ڈیٹا تخلیق، درخواستوں پر دستخط اور حسب ضرورت توثیق کے لیے پلگ انز کے ذریعے فعالیت کو وسعت دیتا ہے۔
  • Inso CLI گرافیکل انٹرفیس کے بغیر CI/CD میں کلیکشنز چلاتا ہے، نتائج کو JUnit فارمیٹ میں برآمد کرتا ہے۔
  • gRPC سپورٹ .proto فائلوں کی لوڈنگ کے ساتھ Insomnia کو مائیکرو سروس آرکیٹیکچر کے لیے ایک آفاقی ٹول بناتی ہے۔

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں