Insomnia — client HTTP desktop cu sursă deschisă pentru testarea API-urilor REST, GraphQL și WebSocket. Instrumentul se remarcă printr-o interfață minimalistă, editor integrat de cereri și suport pentru variabile de mediu fără necesitatea înregistrării. Potrivit Insomnia Documentation (2026), clientul acceptă generarea automată de cod în peste 20 de limbaje de programare.
Principalele
Insomnia — aplicație multiplatformă (Electron) pentru trimiterea cererilor HTTP și depanarea API. Dezvoltată de compania Kong din 2016 ca alternativă la Postman, cu accent pe viteza de lucru și confidențialitate: datele sunt stocate local, sincronizarea în cloud este opțională și necesită înregistrare.
Fereastra principală este împărțită în trei coloane: în stânga — arborele cererilor (Workspace), în centru — editorul de cereri cu filele Params, Headers, Body, în dreapta — panoul de răspuns cu modurile Pretty, Raw și Preview. Tema întunecată este activată implicit, fiind acceptate teme personalizate prin variabile CSS.
Insomnia acceptă exportul cererii în cod în peste 20 de limbaje și frameworkuri: cURL, HTTPie, Python Requests, JavaScript Fetch/Axios, Kotlin OkHttp, Swift URLSession, Java Unirest, Ruby Net::HTTP și altele. Generatorul ia în considerare antetele, corpul cererii și tipul de autentificare, ceea ce accelerează integrarea API în codul aplicației.
Insomnia și Postman rezolvă aceeași sarcină, dar cu priorități diferite. Insomnia este mai ușor (~80 MB față de ~300 MB), se pornește mai repede și funcționează complet offline fără a impune înregistrarea. Postman oferă un ecosistem mai matur, cu monitorizare, servere mock și workspace-uri de echipă.
| Criteriu | Insomnia | Postman |
|---|---|---|
| Greutatea aplicației | ~80 MB | ~300 MB |
| Mod offline | Complet | Limitat |
| GraphQL | Editor integrat | Versiune beta |
| CLI | Inso CLI | Newman |
| Pluginuri | Plugin Hub | Extensii |
Pentru dezvoltarea individuală și testarea rapidă a endpointurilor, Insomnia este mai comod datorită ușurinței și lipsei înregistrării. Pentru munca de echipă cu o colecție comună, integrare CI/CD și monitorizarea API-ului de producție, Postman rămâne standardul industriei.
Workspace în Insomnia conține arborele cererilor, împărțit în foldere. Fiecare cerere poate fi de tip HTTP, GraphQL, WebSocket sau gRPC. Sunt acceptate glisarea, duplicarea și gruparea cererilor după etichete colorate. Fișierul de configurare al workspace-ului este stocat în format JSON.
Insomnia acceptă medii imbricate (Sub Environments), care moștenesc variabilele părinte. Aceasta permite definirea URL-ului de bază în mediul global și suprascrierea doar a parametrilor diferiți pentru diferite medii. Variabilele sunt înlocuite prin sintaxa {`{`}_variable${`}`}.
// Exemplu de structură a mediului Insomnia
{
"base_url": "https://api.example.com",
"timeout": 5000,
"headers": {
"Content-Type": "application/json",
"Accept": "application/json"
}
}Insomnia oferă unul dintre cele mai bune editoare GraphQL dintre clienții API. Fila GraphQL Query permite scrierea cererilor cu completare automată a câmpurilor pe baza schemei încărcate. În dreapta este afișată documentația tipurilor, câmpurilor și argumentelor în timp real.
Schema este încărcată printr-o cerere GraphQL Introspection către endpoint. Insomnia păstrează schema în cache local și o actualizează automat la modificări. După încărcare devin disponibile completarea automată (Ctrl+Space), validarea cererii și previzualizarea erorilor posibile înainte de trimitere.
# Cerere GraphQL cu variabile în Insomnia
query GetUser($id: ID!) {
user(id: $id) {
name
email
posts {
title
createdAt
}
}
}Insomnia Plugin Hub conține peste 100 de pluginuri care extind funcționalitatea clientului. Pluginurile se instalează prin meniul Preferences → Plugins sau manual prin npm. Categoriile populare includ generarea datelor de test, exportul în diferite formate și validatori personalizați de răspuns. Fiecare plugin trece prin moderare obligatorie înainte de publicare în hub-ul comun al dezvoltatorilor.
Pluginurile sunt scrise în JavaScript și interacționează cu Insomnia prin API-ul de templateuri (response.*, request.*, environment.*). Dezvoltarea unui plugin necesită cunoștințe de bază de Node.js și publicarea printr-un pachet npm cu eticheta insomnia-plugin.
Inso CLI — utilitar de consolă integrat în Insomnia pentru rularea cererilor și testelor din terminal. Inso rulează cereri individuale sau colecții întregi, exportă rezultatele în JSON și poate fi integrat în pipeline-uri CI/CD. Comanda inso run collection execută secvențial toate cererile din colecție.
Inso CLI funcționează în containere Docker și mod headless, ceea ce permite utilizarea sa în GitHub Actions și GitLab CI. Configurația de rulare este descrisă într-un fișier YAML cu indicarea căii către colecția exportată și mediu. Sunt acceptate aserțiuni asupra codului de stare și corpului răspunsului prin scripturi JavaScript.
# Workflow GitHub Actions cu Inso CLI
- name: Run API tests
run: npx insomnia-inso run collection
--collection "Auth API"
--env "Staging"
--reporter junit
--output reports/api-results.xmlInsomnia acceptă sincronizarea colecțiilor prin Git. Fișierele colecțiilor sunt stocate în format JSON și pot fi adăugate în repository-ul proiectului. Insomnia oferă un client Git integrat pentru vizualizarea modificărilor, crearea de commit-uri și rezolvarea conflictelor de fuzionare direct din interfață.
Pentru a conecta Git, creați un folder local cu repository și indicați-l ca director rădăcină în setările Insomnia. Aplicația urmărește automat modificările din fișierele colecției și le afișează în panoul Version Control. Sunt acceptate operații standard: commit, push, pull și vizualizarea diff între versiuni.
Pentru proiectele fără Git, Insomnia oferă sincronizare în cloud prin Insomnia Cloud. Tariful gratuit include până la 3 membri ai echipei și copierea automată de rezervă a colecțiilor. Tarifele plătite adaugă gestionarea accesului, auditul modificărilor și suport prioritar.
| Metodă de sincronizare | Gratuit | Offline | Controlul versiunilor |
|---|---|---|---|
| Git (local) | Da | Da | Complet (commit, diff, merge) |
| Insomnia Cloud | Până la 3 utilizatori | Nu | De bază (istoricul modificărilor) |
| Export de fișiere | Da | Da | Manual (prin sistemul de control al versiunilor) |
Design Mode în Insomnia permite crearea specificațiilor API în format OpenAPI 3.0. Modul funcționează ca un editor vizual: definiți endpointuri și scheme de date fără a scrie YAML manual. Specificația poate fi exportată în JSON sau YAML.
Insomnia importă specificații OpenAPI și creează o colecție de cereri pentru fiecare endpoint. Căile și schemele sunt transformate în cereri HTTP gata făcute. Funcția este utilă la integrarea cu microserviciile, unde specificația este stocată într-un repository separat al echipei.
Fiecărei cereri i se poate atribui o etichetă colorată: red, blue, green, orange, purple. Filtrarea după etichete funcționează prin bara de căutare independent de structura folderelor, ceea ce simplifică navigarea în proiecte cu sute de endpointuri și multe module.
Design Mode în Insomnia permite crearea specificațiilor API în format OpenAPI 3.0 direct în interiorul aplicației. Modul funcționează ca un editor vizual: definiți endpointuri, scheme de date și parametri fără a scrie YAML manual. Specificația poate fi exportată în JSON sau YAML pentru publicare în repository.
Insomnia importă specificații OpenAPI existente și creează automat o colecție de cereri pentru fiecare endpoint. Căile și schemele sunt transformate în cereri HTTP gata făcute cu tipuri de date corecte. Această funcție este utilă la integrarea cu microserviciile, unde specificația este stocată și întreținută de o echipă separată de dezvoltatori backend.
Pentru organizarea unui număr mare de cereri, Insomnia acceptă etichetarea — fiecărei cereri i se poate atribui o etichetă colorată: red, blue, green, orange, purple. Filtrarea după etichete funcționează prin bara de căutare independent de structura folderelor, ceea ce simplifică navigarea în proiecte cu sute de endpointuri și multe module funcționale de API.
Întrebări frecvente
Nu, înregistrarea nu este obligatorie. Insomnia funcționează complet offline. Sincronizarea în cloud este disponibilă ca opțiune pentru munca în echipă, dar toate datele sunt stocate local în fișiere JSON în folderul ~/.config/Insomnia/.
Exportați colecția din Postman în format JSON (Collection v2.1). În Insomnia alegeți Import/Export → Import Data → From File. Insomnia convertește automat colecția păstrând cererile, antetele și variabilele de mediu.
Da, începând cu versiunea 2022. Insomnia acceptă protocoalele WebSocket și Socket.IO. Creați o cerere nouă de tip WebSocket, indicați URL (ws:// sau wss://) și trimiteți mesaje prin interfața de chat.
Inso CLI — utilitar nativ Insomnia pentru rularea colecțiilor din consolă. Newman este analogul pentru Postman. Inso este mai ușor, nu necesită instalare separată (vine cu Insomnia) și acceptă toate tipurile de cereri Insomnia, inclusiv GraphQL.
Da, Insomnia acceptă cereri gRPC prin fila gRPC. Este necesar să încărcați un fișier .proto cu definiția serviciului. După încărcare, Insomnia afișează metodele RPC disponibile și generează mesaj binar Protobuf pentru trimitere.
Concluzii
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și