Insomnia — ce este, client REST și GraphQL în dezvoltare

Autor: IT Sectr Publicat: 2026-05-08 Timp de citire: 8 min

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 — client REST și GraphQL gratuit, concentrat pe performanță și pe lucrul local, fără sincronizare în cloud.
  • Mediile din Insomnia acceptă imbricarea și moștenirea variabilelor prin fișiere JSON cu evidențierea sintaxei.
  • Editorul GraphQL include completarea automată a schemei, documentarea tipurilor și construirea vizuală a cererilor prin fila GraphQL.
  • Code Generation convertește cererea în cod în cURL, Python, JavaScript, Kotlin, Swift, Rust și alte limbaje.
  • Sistemul de pluginuri extinde funcționalitatea prin pluginuri terțe pentru etichetare, export și generare de date.

Ce este Insomnia și caracteristicile-cheie

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.

Interfață și navigare

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.

Generarea codului

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 vs Postman: compararea clienților API

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

CriteriuInsomniaPostman
Greutatea aplicației~80 MB~300 MB
Mod offlineCompletLimitat
GraphQLEditor integratVersiune beta
CLIInso CLINewman
PluginuriPlugin HubExtensii

Alegerea instrumentului pentru sarcină

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.

Organizarea spațiului de lucru și a mediilor

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.

Variabile de mediu cu moștenire

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${`}`}.

json
// Exemplu de structură a mediului Insomnia
{
    "base_url": "https://api.example.com",
    "timeout": 5000,
    "headers": {
        "Content-Type": "application/json",
        "Accept": "application/json"
    }
}

Lucrul cu GraphQL în Insomnia

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.

Încărcarea schemei și Introspection

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.

graphql
# Cerere GraphQL cu variabile în Insomnia
query GetUser($id: ID!) {
    user(id: $id) {
        name
        email
        posts {
            title
            createdAt
        }
    }
}

Pluginuri și extinderea posibilităților

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.

Pluginuri populare

  • insomnia-plugin-faker — generarea de date false (nume, email, telefon) pentru cererile de test.
  • insomnia-plugin-aws4 — semnarea cererilor după AWS Signature Version 4 pentru lucrul cu Amazon API Gateway și S3.
  • insomnia-plugin-utils — utilitare pentru lucrul cu date, hashing și codificare Base64 direct în cereri.

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.

CLI și automatizarea testării

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.

Exemplu de integrare în GitHub Actions

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.

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

Integrarea Insomnia cu Git și lucrul în echipă

Insomnia 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ță.

Configurarea sincronizării Git

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.

Lucrul în echipă prin Insomnia Cloud

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 sincronizareGratuitOfflineControlul versiunilor
Git (local)DaDaComplet (commit, diff, merge)
Insomnia CloudPână la 3 utilizatoriNuDe bază (istoricul modificărilor)
Export de fișiereDaDaManual (prin sistemul de control al versiunilor)

Design Mode și generarea specificațiilor

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.

Generarea colecției din OpenAPI

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.

Etichetarea cererilor

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 și generarea specificațiilor

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.

Generarea colecției din OpenAPI

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.

Etichetarea și filtrarea cererilor

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

Este necesară înregistrarea pentru a lucra cu Insomnia?

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

Cum import o colecție din Postman în 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.

Acceptă Insomnia WebSocket?

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.

Prin ce diferă Inso CLI de Newman?

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.

Pot folosi Insomnia pentru gRPC?

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

  • Insomnia — client HTTP ușor și rapid pentru REST, GraphQL și WebSocket, cu funcționare complet offline.
  • Editorul GraphQL cu completare automată și încărcarea schemei prin Introspection — una dintre cele mai bune soluții dintre clienții API.
  • Mediile acceptă imbricarea și moștenirea variabilelor pentru configurare flexibilă pe diferite medii.
  • Generarea codului în peste 20 de limbaje accelerează integrarea API în aplicațiile mobile și web.
  • Plugin Hub extinde funcționalitatea prin pluginuri pentru generarea datelor, semnarea cererilor și validare personalizată.
  • Inso CLI rulează colecții în CI/CD fără interfață grafică, cu exportul rezultatelor în format JUnit.
  • gRPC cu suport pentru încărcarea fișierelor .proto face din Insomnia un instrument universal pentru arhitectura microserviciilor.

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.

Discutați proiectul

Citiți și