Insomnia — nima, ishlanmada REST va GraphQL mijoz

Muallif: IT Sectr Nashr etilgan: 2026-05-08 O'qish vaqti: 8 daq

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 — unumdorlikka va bulutli sinxronizatsiyasiz mahalliy ishga yo'naltirilgan bepul REST va GraphQL mijozi.
  • Muhitlar Insomnia'da sintaksis ta'kidlanishi bilan JSON fayllar orqali o'zgaruvchilarning ichki joylashuvini va meros olishni qo'llab-quvvatlaydi.
  • GraphQL muharriri sxema avtoto'ldirish, turlar hujjatlarini va GraphQL yorlig'i orqali so'rovlarning vizual qurilishini o'z ichiga oladi.
  • Code Generation so'rovni cURL, Python, JavaScript, Kotlin, Swift, Rust va boshqa tillardagi kodga aylantiradi.
  • Plagin tizimi teglash, eksport va ma'lumot generatsiyasi uchun uchinchi tomon plaginlari orqali funksionallikni kengaytiradi.

Insomnia nima va asosiy xususiyatlari

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.

Interfeys va navigatsiya

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.

Kod generatsiyasi

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 vs Postman: API-mijozlarni taqqoslash

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.

MezonInsomniaPostman
Dastur og'irligi~80 MB~300 MB
Oflayn rejimTo'liqCheklangan
GraphQLO'rnatilgan muharrirBeta-versiya
CLIInso CLINewman
PlaginlarPlugin HubKengaytmalar

Vazifaga mos asbobni tanlash

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.

Ish maydoni va muhitlarni tashkil etish

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.

Meros olish bilan muhit o'zgaruvchilari

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.

json
// Insomnia muhit tuzilishining namunasi
{
    "base_url": "https://api.example.com",
    "timeout": 5000,
    "headers": {
        "Content-Type": "application/json",
        "Accept": "application/json"
    }
}

Insomnia'da GraphQL bilan ishlash

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.

Sxemani yuklash va Introspection

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.

graphql
# Insomnia'da o'zgaruvchilar bilan GraphQL so'rovi
query GetUser($id: ID!) {
    user(id: $id) {
        name
        email
        posts {
            title
            createdAt
        }
    }
}

Plaginlar va imkoniyatlarni kengaytirish

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.

Ommabop plaginlar

  • insomnia-plugin-faker — test so'rovlari uchun soxta ma'lumotlar (ism, email, telefon) generatsiyasi.
  • insomnia-plugin-aws4 — Amazon API Gateway va S3 bilan ishlash uchun AWS Signature Version 4 bo'yicha so'rovlarni imzolash.
  • insomnia-plugin-utils — so'rovlarda to'g'ridan-to'g'ri sanalar, xeshlash va Base64 kodlash bilan ishlash uchun utilitlar.

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.

CLI va testni avtomatlashtirish

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.

GitHub Actions'ga integratsiya namunasi

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.

yaml
# 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.xml

Insomnia'ni Git bilan integratsiyasi va jamoa ishi

Insomnia 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 sinxronizatsiyasini sozlash

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.

Insomnia Cloud orqali jamoa ishi

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 usuliBepulOflaynVersiya nazorati
Git (mahalliy)HaHaTo'liq (commit, diff, merge)
Insomnia Cloud3 foydalanuvchigachaYo'qAsosiy (o'zgarishlar tarixi)
Fayl eksportiHaHaQo'lda (versiya nazorati tizimi orqali)

Design Mode va spetsifikatsiyalar generatsiyasi

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.

OpenAPI'dan kolleksiya generatsiyasi

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.

So'rovlarni teglash

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 va spetsifikatsiyalar generatsiyasi

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.

OpenAPI'dan kolleksiya generatsiyasi

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.

So'rovlarni teglash va filtrlash

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

Insomnia bilan ishlash uchun ro'yxatdan o'tish kerakmi?

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.

Postman'dan kolleksiyani Insomnia'ga qanday import qilish kerak?

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.

Insomnia WebSocket'ni qo'llab-quvvatlaydimi?

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 Newman'dan nimasi bilan farq qiladi?

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.

gRPC uchun Insomnia'ni ishlatish mumkinmi?

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

  • Insomnia — to'liq oflayn ish bilan REST, GraphQL va WebSocket uchun yengil va tez HTTP-mijoz.
  • GraphQL muharriri avtoto'ldirish va Introspection orqali sxema yuklash bilan — API-mijozlar orasida eng yaxshi yechimlardan biri.
  • Muhitlar turli muhitlar uchun moslashuvchan sozlash uchun o'zgaruvchilarning ichki joylashuvini va meros olishini qo'llab-quvvatlaydi.
  • Kod generatsiyasi 20+ tilda API integratsiyasini mobil va veb-ilovalarda tezlashtiradi.
  • Plugin Hub ma'lumot generatsiyasi, so'rovlarni imzolash va maxsus tekshirish uchun plaginlar orqali funksionallikni kengaytiradi.
  • Inso CLI grafik interfeyssiz CI/CD'da kolleksiyalarni ishga tushiradi va natijalarni JUnit formatiga eksport qiladi.
  • gRPC .proto fayllarini yuklash bilan qo'llab-quvvatlash Insomnia'ni mikrosxizmat arxitekturasi uchun universal asbobga aylantiradi.

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.

Loyihani muhokama qilish

Shuningdek o'qing