Insomnia — REST, GraphQL və WebSocket API-lərini test etmək üçün açıq mənbə kodlu masaüstü HTTP müştərisidir. Alət minimalist interfeysi, daxili sorğu redaktoru və qeydiyyat tələb olunmadan mühit dəyişənləri dəstəyi ilə seçilir. Insomnia Documentation (2026) məlumatına görə, müştəri 20+ proqramlaşdırma dilində kod avtogenerasiyasını dəstəkləyir.
Əsas məqamlar
Insomnia — HTTP sorğuları göndərmək və API-ni debug etmək üçün krossplatforma proqramıdır (Electron). Kong şirkəti tərəfindən 2016-cı ildən iş sürətinə və məxfiliyə vurğu ilə Postman-ın alternativi kimi hazırlanır: məlumatlar lokal saxlanılır, bulud sinxronizasiyası isteğe bağlıdır və qeydiyyat tələb edir.
Əsas pəncərə üç sütuna bölünüb: solda — sorğular ağacı (Workspace), ortada — Params, Headers, Body tabları ilə sorğu redaktoru, sağda — Pretty, Raw və Preview rejimləri ilə cavab paneli. Qaranlıq mövzu standart olaraq aktivdir, CSS dəyişənləri vasitəsilə fərdi mövzular dəstəklənir.
Insomnia sorğunun 20+ dil və framework-də koda ixracını dəstəkləyir: cURL, HTTPie, Python Requests, JavaScript Fetch/Axios, Kotlin OkHttp, Swift URLSession, Java Unirest, Ruby Net::HTTP və digərləri. Generator başlıqları, sorğunun gövdəsini və autentifikasiya növünü nəzərə alır ki, bu da API-nin tətbiq koduna inteqrasiyasını sürətləndirir.
Insomnia və Postman eyni məsələni həll edir, lakin fərqli prioritetlərlə. Insomnia daha yüngüldür (~80 MB qarşı ~300 MB), daha sürətli işə düşür və qeydiyyat tələb olunmadan tam oflayn işləyir. Postman monitorinq, mock-serverlər və komanda workspace-ləri ilə daha yetkin ekosistem təklif edir.
| Kriteriya | Insomnia | Postman |
|---|---|---|
| Proqram çəkisi | ~80 MB | ~300 MB |
| Oflayn rejim | Tam | Məhdud |
| GraphQL | Daxili redaktor | Beta versiya |
| CLI | Inso CLI | Newman |
| Plaginlər | Plugin Hub | Əlavələr |
Fərdi inkişaf və endpointlərin sürətli test edilməsi üçün Insomnia yüngüllüyü və qeydiyyatın olmaması sayəsində daha rahatdır. Ümumi kolleksiya, CI/CD inteqrasiyası və production-API monitorinqi ilə komanda işi üçün Postman sənaye standartı olaraq qalır.
Workspace Insomnia-da qovluqlara bölünmüş sorğular ağacını ehtiva edir. Hər sorğu HTTP, GraphQL, WebSocket və ya gRPC tipli ola bilər. Sürükləmə, duplikasiya və sorğuların rəngli etiketlərlə qruplaşdırılması dəstəklənir. Workspace konfiqurasiya faylı JSON formatında saxlanılır.
Insomnia valideyn dəyişənlərini miras alan daxili mühitləri (Sub Environments) dəstəkləyir. Bu, qlobal mühitdə baz URL-i təyin etməyə və müxtəlif mühitlər üçün yalnız fərqlənən parametrləri yenidən təyin etməyə imkan verir. Dəyişənlər {`{`}_variable${`}`} sintaksisi ilə əvəz olunur.
// Insomnia mühit strukturasının nümunəsi
{
"base_url": "https://api.example.com",
"timeout": 5000,
"headers": {
"Content-Type": "application/json",
"Accept": "application/json"
}
}Insomnia API müştəriləri arasında ən yaxşı GraphQL redaktorlarından birini təqdim edir. GraphQL Query tabı yüklənmiş sxem əsasında sahələrin avtotamamlama ilə sorğular yazmağa imkan verir. Sağda tiplər, sahələr və arqumentlər üzrə sənədləşmə real vaxtda göstərilir.
Sxem endpointe GraphQL Introspection sorğusu vasitəsilə yüklənir. Insomnia sxemi lokal keşləyir və dəyişikliklər zamanı avtomatik yeniləyir. Yüklənmədən sonra avtotamamlama (Ctrl+Space), sorğunun validasiyası və göndərməzdən əvvəl mümkün səhvlərin önizləməsi əlçatan olur.
# Insomnia-da dəyişənlərlə GraphQL sorğusu
query GetUser($id: ID!) {
user(id: $id) {
name
email
posts {
title
createdAt
}
}
}Insomnia Plugin Hub müştərinin funksionallığını genişləndirən 100-dən çox plagin ehtiva edir. Plaginlər Preferences → Plugins menyusu və ya npm vasitəsilə əl ilə quraşdırılır. Populyar kateqoriyalara test məlumatlarının generasiyası, müxtəlif formatlara ixrac və fərdi cavab validatorları daxildir. Hər plagin ümumi developer hub-da nəşrdən əvvəl məcburi moderasiyadan keçir.
Plaginlər JavaScript dilində yazılır və Insomnia ilə şablonlaşdırıcı API vasitəsilə qarşılıqlı əlaqədə olur (response.*, request.*, environment.*). Plagin hazırlamaq Node.js-in əsas biliyini və insomnia-plugin teqi ilə npm paketi vasitəsilə nəşri tələb edir.
Inso CLI — terminaldan sorğuları və testləri işə salmaq üçün Insomnia-ya daxil edilmiş konsol utilitidir. Inso ayrı-ayrı sorğuları və ya bütün kolleksiyaları işə salır, nəticələri JSON-a ixrac edir və CI/CD pipeline-larına inteqrasiya oluna bilər. inso run collection əmri kolleksiyadakı bütün sorğuları ardıcıl yerinə yetirir.
Inso CLI Docker konteynerlərində və headless rejimində işləyir ki, bu da onu GitHub Actions və GitLab CI-də istifadə etməyə imkan verir. İşə salma konfiqurasiyası ixrac edilmiş kolleksiyanın və mühitin yolunu göstərən YAML faylında təsvir olunur. JavaScript skriptləri vasitəsilə status kodu və cavab gövdəsi üzrə aşertlər dəstəklənir.
# Inso CLI ilə GitHub Actions workflow-u
- name: Run API tests
run: npx insomnia-inso run collection
--collection "Auth API"
--env "Staging"
--reporter junit
--output reports/api-results.xmlInsomnia Git vasitəsilə kolleksiya sinxronizasiyasını dəstəkləyir. Kolleksiya faylları JSON formatında saxlanılır və layihə deposuna əlavə edilə bilər. Insomnia dəyişikliklərə baxmaq, commit yaratmaq və birləşmə konfliktlərini həll etmək üçün interfeysdən birbaşa daxili Git müştərisi təqdim edir.
Git-i qoşmaq üçün depo ilə lokal qovluq yaradın və onu Insomnia parametrlərində kök qovluq kimi göstərin. Tətbiq kolleksiya fayllarındakı dəyişiklikləri avtomatik izləyir və onları Version Control panelində göstərir. Standart əməliyyatlar dəstəklənir: commit, push, pull və versiyalar arası diff baxışı.
Git olmayan layihələr üçün Insomnia Insomnia Cloud vasitəsilə bulud sinxronizasiyası təklif edir. Pulsuz tarif komandanın 3 üzvünə qədərini və kolleksiyaların avtomatik ehtiyat nüsxəsini əhatə edir. Ödənişli tariflər girişin idarə edilməsini, dəyişikliklərin auditi və prioritet dəstəyi əlavə edir.
| Sinxronizasiya üsulu | Pulsuz | Oflayn | Versiya nəzarəti |
|---|---|---|---|
| Git (lokal) | Bəli | Bəli | Tam (commit, diff, merge) |
| Insomnia Cloud | 3 istifadəçiyə qədər | Xeyr | Əsas (dəyişiklik tarixçəsi) |
| Fayl ixracı | Bəli | Bəli | Əl ilə (versiya nəzarət sistemi vasitəsilə) |
Design Mode Insomnia-da OpenAPI 3.0 formatında API spesifikasiyaları yaratmağa imkan verir. Rejim vizual redaktor kimi işləyir: YAML-ı əl ilə yazmadan endpointlər və məlumat sxemlərini təyin edin. Spesifikasiyanı JSON və ya YAML formatına ixrac etmək olar.
Insomnia OpenAPI spesifikasiyalarını idxal edir və hər endpoint üçün sorğular kolleksiyası yaradır. Yollar və sxemlər hazır HTTP sorğularına çevrilir. Funksiya spesifikasiyanın komandanın ayrıca deposunda saxlandığı mikroservislərlə inteqrasiya zamanı faydalıdır.
Hər sorğuya rəngli etiket təyin etmək olar: red, blue, green, orange, purple. Teqlər üzrə filtrləmə qovluq strukturundan asılı olmayaraq axtarış sətri ilə işləyir ki, bu da yüzlərlə endpoint və çoxlu modullu layihələrdə naviqasiyanı sadələşdirir.
Design Mode Insomnia-da tətbiq daxilində birbaşa OpenAPI 3.0 formatında API spesifikasiyaları yaratmağa imkan verir. Rejim vizual redaktor kimi işləyir: YAML-ı əl ilə yazmadan endpointlər, məlumat sxemləri və parametrləri təyin edin. Spesifikasiyanı depoda nəşr üçün JSON və ya YAML formatına ixrac etmək olar.
Insomnia mövcud OpenAPI spesifikasiyalarını idxal edir və hər endpoint üçün avtomatik sorğular kolleksiyası yaradır. Yollar və sxemlər düzgün məlumat tipləri ilə hazır HTTP sorğularına çevrilir. Bu funksiya spesifikasiyanın ayrıca backend developer komandası tərəfindən saxlanıldığı mikroservislərlə inteqrasiya zamanı faydalıdır.
Çox sayda sorğunun təşkili üçün Insomnia teqləməni dəstəkləyir — hər sorğuya rəngli etiket təyin etmək olar: red, blue, green, orange, purple. Teqlər üzrə filtrləmə qovluq strukturundan asılı olmayaraq axtarış sətri ilə işləyir ki, bu da yüzlərlə endpoint və çoxlu funksional API modullu layihələrdə naviqasiyanı sadələşdirir.
Tez-tez verilən suallar
Xeyr, qeydiyyat məcburi deyil. Insomnia tam oflayn işləyir. Bulud sinxronizasiyası komanda işi üçün opsiya kimi mövcuddur, lakin bütün məlumatlar ~/.config/Insomnia/ qovluğundakı JSON fayllarında lokal saxlanılır.
Kolleksiyanı Postman-dan JSON formatında (Collection v2.1) ixrac edin. Insomnia-da Import/Export → Import Data → From File seçin. Insomnia kolleksiyanı sorğuları, başlıqları və mühit dəyişənlərini qoruyaraq avtomatik çevirir.
Bəli, 2022 versiyasından etibarən. Insomnia WebSocket və Socket.IO protokollarını dəstəkləyir. WebSocket tipli yeni sorğu yaradın, URL (ws:// və ya wss://) göstərin və çat interfeysi vasitəsilə mesajlar göndərin.
Inso CLI — kolleksiyaları konsoldan işə salmaq üçün Insomnia-nın yerli utilitisidir. Newman Postman üçün analoqdur. Inso daha yüngüldür, ayrıca quraşdırma tələb etmir (Insomnia ilə gəlir) və GraphQL daxil olmaqla Insomnia-nın bütün sorğu tiplərini dəstəkləyir.
Bəli, Insomnia gRPC tabı vasitəsilə gRPC sorğularını dəstəkləyir. Xidmətin tərifi ilə .proto faylı yükləmək tələb olunur. Yükləmədən sonra Insomnia mövcud RPC metodlarını göstərir və göndərmək üçün ikili Protobuf mesajı yaradır.
Yekunlar
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun