Insomnia — nədir, inkişafda REST və GraphQL müştərisi

Müəllif: IT Sectr Dərc olunub: 2026-05-08 Oxuma vaxtı: 8 dəq

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 — performansa və bulud sinxronizasiyası olmadan lokal işə fokuslanan pulsuz REST və GraphQL müştərisidir.
  • Mühitlər Insomnia-da sintaksis vurğulanması ilə JSON faylları vasitəsilə dəyişənlərin daxililiyini və mirasını dəstəkləyir.
  • GraphQL redaktoru sxem avtotamamlama, tiplər sənədləşməsi və GraphQL tabı vasitəsilə sorğuların vizual qurulmasını əhatə edir.
  • Code Generation sorğunu cURL, Python, JavaScript, Kotlin, Swift, Rust və digər dillərdə koda çevirir.
  • Plugin sistemi teqləmə, ixrac və məlumat generasiyası üçün üçüncü tərəf plaginləri ilə funksionallığı genişləndirir.

Insomnia nədir və əsas xüsusiyyətləri

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.

İnterfeys və naviqasiya

Ə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.

Kod generasiyası

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 vs Postman: API müştərilərinin müqayisəsi

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.

KriteriyaInsomniaPostman
Proqram çəkisi~80 MB~300 MB
Oflayn rejimTamMəhdud
GraphQLDaxili redaktorBeta versiya
CLIInso CLINewman
PlaginlərPlugin HubƏlavələr

Vəzifəyə uyğun alətin seçilməsi

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.

İş məkanının və mühitlərin təşkili

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.

Miraslı mühit dəyişənləri

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.

json
// 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-da GraphQL ilə iş

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.

Sxemin yüklənməsi və Introspection

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.

graphql
# Insomnia-da dəyişənlərlə GraphQL sorğusu
query GetUser($id: ID!) {
    user(id: $id) {
        name
        email
        posts {
            title
            createdAt
        }
    }
}

Plaginlər və imkanların genişləndirilməsi

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.

Populyar plaginlər

  • insomnia-plugin-faker — test sorğuları üçün saxta məlumatların (ad, email, telefon) generasiyası.
  • insomnia-plugin-aws4 — Amazon API Gateway və S3 ilə iş üçün AWS Signature Version 4 əsasında sorğu imzalanması.
  • insomnia-plugin-utils — sorğularda birbaşa tarixlər, heşləmə və Base64 kodlaşdırması ilə iş üçün utilitlər.

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.

CLI və test avtomatlaşdırması

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.

GitHub Actions-a inteqrasiya nümunəsi

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.

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

Insomnia-nın Git ilə inteqrasiyası və komanda işi

Insomnia 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 sinxronizasiyasının qurulması

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ışı.

Insomnia Cloud vasitəsilə komanda işi

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 üsuluPulsuzOflaynVersiya nəzarəti
Git (lokal)BəliBəliTam (commit, diff, merge)
Insomnia Cloud3 istifadəçiyə qədərXeyrƏsas (dəyişiklik tarixçəsi)
Fayl ixracıBəliBəliƏl ilə (versiya nəzarət sistemi vasitəsilə)

Design Mode və spesifikasiyaların generasiyası

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.

OpenAPI-dən kolleksiyanın generasiyası

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.

Sorğuların teqlənməsi

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 və spesifikasiyaların generasiyası

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.

OpenAPI-dən kolleksiyanın generasiyası

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.

Sorğuların teqlənməsi və filtrlənməsi

Ç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

Insomnia ilə işləmək üçün qeydiyyat lazımdır?

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.

Postman-dan kolleksiyanı Insomnia-ya necə idxal etmək olar?

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.

Insomnia WebSocket-i dəstəkləyir?

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 Newman-dan nə ilə fərqlənir?

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.

gRPC üçün Insomnia istifadə etmək olar?

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

  • Insomnia — tam oflayn iş ilə REST, GraphQL və WebSocket üçün yüngül və sürətli HTTP müştərisi.
  • GraphQL redaktoru avtotamamlama və Introspection vasitəsilə sxem yükləməsi ilə — API müştəriləri arasında ən yaxşı həllərdən biri.
  • Mühitlər müxtəlif mühitlər üçün çevik konfiqurasiya üçün dəyişənlərin daxililiyini və mirasını dəstəkləyir.
  • Kod generasiyası 20+ dildə API inteqrasiyasını mobil və veb tətbiqlərdə sürətləndirir.
  • Plugin Hub məlumat generasiyası, sorğu imzalanması və fərdi validasiya üçün plaginlərlə funksionallığı genişləndirir.
  • Inso CLI qrafik interfeys olmadan CI/CD-də kolleksiyaları işə salır və nəticələri JUnit formatına ixrac edir.
  • gRPC .proto fayllarının yüklənməsi ilə dəstəyi Insomnia-nı mikroservis arxitekturası üçün universal alətə çevirir.

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.

Layihəni müzakirə et

Həm də oxuyun