Insomnia — REST, GraphQL va WebSocket API-larni sinash uchun ochiq manba kodli desktop HTTP-mijozidir. Asbob minimalistik interfeysi, o'rnatilgan so'rov muharriri va ro'yxatdan o'tish shartsiz muhit o'zgaruvchilarini qo'llab-quvvatlashi bilan ajralib turadi. Insomnia Documentation (2026) ma'lumotiga ko'ra, mijoz 20+ dasturlash tilida kod avtogeneratsiyasini qo'llab-quvvatlaydi.
Asosiy fikrlar
Insomnia — HTTP so'rovlarini yuborish va API'ni tuzatish uchun kross-platformali dastur (Electron). U 2016-yildan beri Kong kompaniyasi tomonidan ish tezligi va maxfiylikka urg'u berib Postman'ga muqobil sifatida ishlab chiqilmoqda: ma'lumotlar mahalliy saqlanadi, bulutli sinxronizatsiya ixtiyoriy va ro'yxatdan o'tishni talab qiladi.
Asosiy oyna uch ustunga bo'lingan: chapda — so'rovlar daraxti (Workspace), o'rtada — Params, Headers, Body yorliqlari bilan so'rov muharriri, o'ngda — Pretty, Raw va Preview rejimlari bilan javob paneli. Qorong'u mavzu sukut bo'yicha yoqilgan, CSS o'zgaruvchilari orqali maxsus mavzular qo'llab-quvvatlanadi.
Insomnia so'rovni 20+ til va framework'ga eksport qilishni qo'llab-quvvatlaydi: cURL, HTTPie, Python Requests, JavaScript Fetch/Axios, Kotlin OkHttp, Swift URLSession, Java Unirest, Ruby Net::HTTP va boshqalar. Generator sarlavhalar, so'rov tanasi va autentifikatsiya turini hisobga oladi, bu API'ni dastur kodiga integratsiyalashni tezlashtiradi.
Insomnia va Postman bitta vazifani hal qiladi, lekin turli ustuvorliklar bilan. Insomnia engilroq (~80 MB ga nisbatan ~300 MB), tezroq ishga tushadi va ro'yxatdan o'tishni majburlamasdan to'liq oflayn ishlaydi. Postman monitoring, mock-serverlar va jamoa workspace'lari bilan yetukroq ekotizim taklif qiladi.
| Mezon | Insomnia | Postman |
|---|---|---|
| Dastur og'irligi | ~80 MB | ~300 MB |
| Oflayn rejim | To'liq | Cheklangan |
| GraphQL | O'rnatilgan muharrir | Beta-versiya |
| CLI | Inso CLI | Newman |
| Plaginlar | Plugin Hub | Kengaytmalar |
Individual ishlanma va endpointlarni tez sinash uchun Insomnia yengilligi va ro'yxatdan o'tmasligi tufayli qulayroq. Umumiy kolleksiya, CI/CD integratsiyasi va production-API monitoringi bilan jamoa ishi uchun Postman sanoat standarti bo'lib qolmoqda.
Workspace Insomnia'da papkalarga bo'lingan so'rovlar daraxtini o'z ichiga oladi. Har bir so'rov HTTP, GraphQL, WebSocket yoki gRPC tipida bo'lishi mumkin. Sudrab o'tkazish, dublikat qilish va so'rovlarni rangli teglar bo'yicha guruhlash qo'llab-quvvatlanadi. Workspace konfiguratsiya fayli JSON formatida saqlanadi.
Insomnia ota-ona o'zgaruvchilarini meros oladigan ichki joylashgan muhitlarni (Sub Environments) qo'llab-quvvatlaydi. Bu global muhitda bazaviy URL'ni aniqlash va turli muhitlar uchun faqat farq qiluvchi parametrlarni qayta aniqlash imkonini beradi. O'zgaruvchilar {`{`}_variable${`}`} sintaksisi orqali almashtiriladi.
// Insomnia muhit tuzilishining namunasi
{
"base_url": "https://api.example.com",
"timeout": 5000,
"headers": {
"Content-Type": "application/json",
"Accept": "application/json"
}
}Insomnia API-mijozlar orasida eng yaxshi GraphQL muharrirlaridan birini taqdim etadi. GraphQL Query yorlig'i yuklangan sxema asosida maydonlarni avtoto'ldirish bilan so'rovlar yozish imkonini beradi. O'ng tomonda turlar, maydonlar va argumentlar bo'yicha hujjatlar real vaqtda ko'rsatiladi.
Sxema endpointga GraphQL Introspection so'rovi orqali yuklanadi. Insomnia sxemani mahalliy keshlaydi va o'zgarishlarda avtomatik yangilaydi. Yuklashdan so'ng avtoto'ldirish (Ctrl+Space), so'rovni tekshirish va yuborishdan oldin mumkin bo'lgan xatolarni oldindan ko'rish mavjud bo'ladi.
# Insomnia'da o'zgaruvchilar bilan GraphQL so'rovi
query GetUser($id: ID!) {
user(id: $id) {
name
email
posts {
title
createdAt
}
}
}Insomnia Plugin Hub mijoz funksionalligini kengaytiruvchi 100 dan ortiq plaginlarni o'z ichiga oladi. Plaginlar Preferences → Plugins menyusi yoki qo'lda npm orqali o'rnatiladi. Ommabop kategoriyalar test ma'lumotlarini generatsiya qilish, turli formatlarga eksport va maxsus javob validatorlarini o'z ichiga oladi. Har bir plagin umumiy dasturchilar hub'ida nashr etishdan oldin majburiy moderatsiyadan o'tadi.
Plaginlar JavaScript tilida yoziladi va Insomnia bilan shablonlashtiruvchi API orqali o'zaro aloqada bo'ladi (response.*, request.*, environment.*). Plagin ishlab chiqish Node.js'ning asosiy bilimini va insomnia-plugin tegi bilan npm-paket orqali nashr qilishni talab qiladi.
Inso CLI — terminaldan so'rovlar va testlarni ishga tushirish uchun Insomnia'ga o'rnatilgan konsol utilitasidir. Inso alohida so'rovlar yoki butun kolleksiyalarni ishga tushiradi, natijalarni JSON'ga eksport qiladi va CI/CD pipeline'lariga integratsiya qilinishi mumkin. inso run collection buyrug'i kolleksiyadagi barcha so'rovlarni ketma-ket bajaradi.
Inso CLI Docker konteynerlarida va headless rejimida ishlaydi, bu esa uni GitHub Actions va GitLab CI'da ishlatish imkonini beradi. Ishga tushirish konfiguratsiyasi eksport qilingan kolleksiya va muhit yo'lini ko'rsatgan holda YAML faylida tavsiflanadi. JavaScript skriptlari orqali status-kod va javob tanasi bo'yicha asertlar qo'llab-quvvatlanadi.
# Inso CLI bilan GitHub Actions workflow'i
- name: Run API tests
run: npx insomnia-inso run collection
--collection "Auth API"
--env "Staging"
--reporter junit
--output reports/api-results.xmlInsomnia Git orqali kolleksiyalarni sinxronizatsiyalashni qo'llab-quvvatlaydi. Kolleksiya fayllari JSON formatida saqlanadi va loyiha repozitoriyasiga qo'shilishi mumkin. Insomnia o'zgarishlarni ko'rish, commit yaratish va birlashtirish konfliktlarini hal qilish uchun interfeysdan to'g'ridan-to'g'ri o'rnatilgan Git-mijozini taqdim etadi.
Git'ni ulash uchun repozitoriy bilan mahalliy papka yarating va uni Insomnia sozlamalarida ildiz katalog sifatida ko'rsating. Dastur kolleksiya fayllaridagi o'zgarishlarni avtomatik kuzatadi va ularni Version Control panelida ko'rsatadi. Standart operatsiyalar qo'llab-quvvatlanadi: commit, push, pull va versiyalar orasidagi diff'ni ko'rish.
Git'siz loyihalar uchun Insomnia Insomnia Cloud orqali bulutli sinxronizatsiyani taklif etadi. Bepul tarif jamoaning 3 a'zosigacha va kolleksiyalarning avtomatik zaxira nusxasini o'z ichiga oladi. Pullik tariflar kirishni boshqarish, o'zgarishlar auditini va ustuvor yordamni qo'shadi.
| Sinxronizatsiya usuli | Bepul | Oflayn | Versiya nazorati |
|---|---|---|---|
| Git (mahalliy) | Ha | Ha | To'liq (commit, diff, merge) |
| Insomnia Cloud | 3 foydalanuvchigacha | Yo'q | Asosiy (o'zgarishlar tarixi) |
| Fayl eksporti | Ha | Ha | Qo'lda (versiya nazorati tizimi orqali) |
Design Mode Insomnia'da OpenAPI 3.0 formatida API spetsifikatsiyalarini yaratishga imkon beradi. Rejim vizual muharrir kabi ishlaydi: YAML'ni qo'lda yozmasdan endpointlar va ma'lumot sxemalarini aniqlang. Spetsifikatsiyani JSON yoki YAML'ga eksport qilish mumkin.
Insomnia OpenAPI spetsifikatsiyalarini import qiladi va har bir endpoint uchun so'rovlar kolleksiyasini yaratadi. Yo'llar va sxemalar tayyor HTTP so'rovlariga aylantiriladi. Funksiya spetsifikatsiya jamoaning alohida repozitoriyasida saqlanadigan mikrosxizmatlar bilan integratsiyada foydalidir.
Har bir so'rovga rangli teg belgilash mumkin: red, blue, green, orange, purple. Teglar bo'yicha filtrlash papkalar tuzilishidan qat'i nazar qidiruv satri orqali ishlaydi, bu yuzlab endpointlar va ko'plab modulli loyihalarda navigatsiyani soddalashtiradi.
Design Mode Insomnia'da dastur ichida to'g'ridan-to'g'ri OpenAPI 3.0 formatida API spetsifikatsiyalarini yaratishga imkon beradi. Rejim vizual muharrir kabi ishlaydi: YAML'ni qo'lda yozmasdan endpointlar, ma'lumot sxemalari va parametrlarni aniqlang. Spetsifikatsiyani repozitoriyada nashr qilish uchun JSON yoki YAML'ga eksport qilish mumkin.
Insomnia mavjud OpenAPI spetsifikatsiyalarini import qiladi va har bir endpoint uchun avtomatik so'rovlar kolleksiyasini yaratadi. Yo'llar va sxemalar to'g'ri ma'lumot turlari bilan tayyor HTTP so'rovlariga aylantiriladi. Bu funksiya spetsifikatsiya alohida backend dasturchilar jamoasi tomonidan saqlanadigan va qo'llab-quvvatlanadigan mikrosxizmatlar bilan integratsiyada foydalidir.
Ko'p sonli so'rovlarni tashkil etish uchun Insomnia teglashni qo'llab-quvvatlaydi — har bir so'rovga rangli teg belgilash mumkin: red, blue, green, orange, purple. Teglar bo'yicha filtrlash papkalar tuzilishidan qat'i nazar qidiruv satri orqali ishlaydi, bu yuzlab endpointlar va ko'plab funksional API modulli loyihalarda navigatsiyani soddalashtiradi.
Ko'p so'raladigan savollar
Yo'q, ro'yxatdan o'tish majburiy emas. Insomnia to'liq oflayn ishlaydi. Bulutli sinxronizatsiya jamoa ishi uchun opsiya sifatida mavjud, lekin barcha ma'lumotlar ~/.config/Insomnia/ papkasidagi JSON fayllarida mahalliy saqlanadi.
Kolleksiyani Postman'dan JSON formatida (Collection v2.1) eksport qiling. Insomnia'da Import/Export → Import Data → From File ni tanlang. Insomnia kolleksiyani so'rovlar, sarlavhalar va muhit o'zgaruvchilarini saqlab avtomatik konvertatsiya qiladi.
Ha, 2022 versiyasidan boshlab. Insomnia WebSocket va Socket.IO protokollarini qo'llab-quvvatlaydi. WebSocket tipida yangi so'rov yarating, URL (ws:// yoki wss://) ko'rsating va chat interfeysi orqali xabarlar yuboring.
Inso CLI — kolleksiyalarni konsoldan ishga tushirish uchun Insomnia'ning mahalliy utilitasidir. Newman Postman uchun analogdir. Inso engilroq, alohida o'rnatishni talab qilmaydi (Insomnia bilan keladi) va GraphQL'ni o'z ichiga olgan barcha Insomnia so'rov turlarini qo'llab-quvvatlaydi.
Ha, Insomnia gRPC yorlig'i orqali gRPC so'rovlarini qo'llab-quvvatlaydi. Xizmat ta'rifi bilan .proto faylni yuklash talab qilinadi. Yuklashdan so'ng Insomnia mavjud RPC-metodlarni ko'rsatadi va yuborish uchun ikkilik Protobuf-xabarni yaratadi.
Xulosalar
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.