Insomnia — nyílt forráskódú asztali HTTP-kliens REST, GraphQL és WebSocket API-k tesztelésére. Az eszköz minimalista felületével, beépített kérészerkesztőjével és a környezeti változók támogatásával tűnik ki, regisztráció nélkül. A Insomnia Documentation (2026) szerint a kliens több mint 20 programozási nyelven támogatja a kód automatikus generálását.
Legfontosabb
Insomnia — többplatformos alkalmazás (Electron) HTTP-kérések küldésére és API-k hibakeresésére. A Kong vállalat fejleszti 2016 óta a Postman alternatívájaként, a munka sebességére és a magánélet védelmére összpontosítva: az adatokat helyben tárolja, a felhőszinkronizáció opcionális és regisztrációt igényel.
A főablak három oszlopra van osztva: balra — a kérések fája (Workspace), középen — a kérészerkesztő a Params, Headers, Body fülekkel, jobbra — a válaszpanel a Pretty, Raw és Preview módokkal. A sötét téma alapértelmezés szerint be van kapcsolva, az egyéni témák CSS-változókon keresztül támogatottak.
Az Insomnia támogatja a kérés exportálását kódba több mint 20 nyelven és keretrendszerben: cURL, HTTPie, Python Requests, JavaScript Fetch/Axios, Kotlin OkHttp, Swift URLSession, Java Unirest, Ruby Net::HTTP és mások. A generátor figyelembe veszi a fejléceket, a kérés törzsét és a hitelesítés típusát, ami felgyorsítja az API integrálását az alkalmazás kódjába.
Insomnia és a Postman ugyanazt a feladatot oldja meg, de eltérő prioritásokkal. Az Insomnia könnyebb (~80 MB a ~300 MB-hoz képest), gyorsabban indul és teljesen offline működik anélkül, hogy regisztrációt erőltetne. A Postman érettebb ökoszisztémát kínál monitoringgal, mock-szerverekkel és csapatos workspace-ekkel.
| Kritérium | Insomnia | Postman |
|---|---|---|
| Az alkalmazás mérete | ~80 MB | ~300 MB |
| Offline mód | Teljes | Korlátozott |
| GraphQL | Beépített szerkesztő | Béta verzió |
| CLI | Inso CLI | Newman |
| Pluginok | Plugin Hub | Bővítmények |
Az egyéni fejlesztéshez és az endpointok gyors teszteléséhez az Insomnia kényelmesebb a könnyűsége és a regisztráció hiánya miatt. A közös kollekcióval, CI/CD-integrációval és éles API-k monitoringjával járó csapatmunkához a Postman marad az iparági szabvány.
Workspace az Insomnia-ban tartalmazza a kérések fáját, mappákra bontva. Minden kérés lehet HTTP, GraphQL, WebSocket vagy gRPC típusú. Támogatott a húzás, a másolás és a kérések csoportosítása színes címkék szerint. A workspace konfigurációs fájlja JSON formátumban van tárolva.
Az Insomnia támogatja a beágyazott környezeteket (Sub Environments), amelyek öröklik a szülő változóit. Ez lehetővé teszi az alap URL meghatározását a globális környezetben, és csak a különböző paraméterek felülírását a különböző környezetekhez. A változók a {`{`}_variable${`}`} szintaxissal helyettesítődnek.
// Példa az Insomnia-környezet szerkezetére
{
"base_url": "https://api.example.com",
"timeout": 5000,
"headers": {
"Content-Type": "application/json",
"Accept": "application/json"
}
}Insomnia az egyik legjobb GraphQL-szerkesztőt kínálja az API-kliensek között. A GraphQL Query fül lehetővé teszi kérések írását a mezők automatikus kiegészítésével a betöltött séma alapján. A jobb oldalon valós időben jelenik meg a típusok, mezők és argumentumok dokumentációja.
A séma GraphQL Introspection kéréssel töltődik be az endpointra. Az Insomnia helyben cache-eli a sémát, és változások esetén automatikusan frissíti. A betöltés után elérhetővé válik az automatikus kiegészítés (Ctrl+Space), a kérés érvényesítése és a lehetséges hibák előnézete a küldés előtt.
# GraphQL-kérés változókkal az Insomnia-ban
query GetUser($id: ID!) {
user(id: $id) {
name
email
posts {
title
createdAt
}
}
}Insomnia Plugin Hub több mint 100 plugint tartalmaz, amelyek bővítik a kliens funkcionalitását. A pluginok a Preferences → Plugins menün vagy manuálisan, npm-en keresztül telepíthetők. A népszerű kategóriák közé tartozik a tesztadatok generálása, az exportálás különböző formátumokba és az egyéni válasz-validátorok. Minden plugin kötelező moderáláson esik át, mielőtt megjelenik a fejlesztők közös hub-jában.
A pluginok JavaScript nyelven íródnak, és a sablonozó API-n keresztül kommunikálnak az Insomnia-val (response.*, request.*, environment.*). A plugin fejlesztése a Node.js alapvető ismeretét és az insomnia-plugin címkével ellátott npm-csomagon keresztüli közzétételt igényel.
Inso CLI — az Insomnia-ba beépített konzolos segédprogram kérések és tesztek futtatásához a terminálból. Az Inso egyes kéréseket vagy teljes kollekciókat futtat, JSON-ba exportálja az eredményeket, és CI/CD-folyamatokba integrálható. A inso run collection parancs egymás után hajtja végre a kollekció összes kérését.
Az Inso CLI Docker-konténerekben és headless módban működik, ami lehetővé teszi használatát a GitHub Actions-ben és a GitLab CI-ben. A futtatási konfigurációt YAML-fájl írja le az exportált kollekció és környezet elérési útjának megadásával. A státuszkódra és a válasz törzsére vonatkozó állítások JavaScript-szkripteken keresztül támogatottak.
# GitHub Actions workflow az Inso CLI-vel
- name: Run API tests
run: npx insomnia-inso run collection
--collection "Auth API"
--env "Staging"
--reporter junit
--output reports/api-results.xmlInsomnia támogatja a kollekciók szinkronizálását a Git-en keresztül. A kollekciófájlok JSON formátumban vannak tárolva, és hozzáadhatók a projekt adattárához. Az Insomnia beépített Git-klienst biztosít a változások megtekintéséhez, commitok létrehozásához és az egyesítési konfliktusok feloldásához közvetlenül a felületről.
A Git csatlakoztatásához hozzon létre egy helyi mappát adattárral, és jelölje meg gyökérkönyvtárként az Insomnia beállításaiban. Az alkalmazás automatikusan nyomon követi a kollekciófájlok változásait, és megjeleníti azokat a Version Control panelen. Támogatottak a szokásos műveletek: commit, push, pull és a verziók közötti diff megtekintése.
A Git nélküli projektekhez az Insomnia felhőszinkronizációt kínál az Insomnia Cloud-on keresztül. Az ingyenes tarifa legfeljebb 3 csapattagot és a kollekciók automatikus biztonsági mentését tartalmazza. A fizetős tarifák hozzáadják a hozzáférés-kezelést, a változások auditálását és az elsőbbségi támogatást.
| Szinkronizálási mód | Ingyenes | Offline | Verziókezelés |
|---|---|---|---|
| Git (helyi) | Igen | Igen | Teljes (commit, diff, merge) |
| Insomnia Cloud | Legfeljebb 3 felhasználó | Nem | Alap (változások előzménye) |
| Fájlexport | Igen | Igen | Manuális (verziókezelő rendszeren keresztül) |
Design Mode az Insomnia-ban lehetővé teszi API-specifikációk létrehozását OpenAPI 3.0 formátumban. A mód vizuális szerkesztőként működik: definiáljon endpointokat és adatsémákat a YAML kézi írása nélkül. A specifikáció JSON-ba vagy YAML-ba exportálható.
Az Insomnia importálja az OpenAPI-specifikációkat, és minden endpointhoz kollekciót hoz létre kérésekből. Az útvonalak és sémák kész HTTP-kérésekké alakulnak. A funkció hasznos a mikroszolgáltatásokkal való integrációnál, ahol a specifikációt a csapat külön adattárában tárolják.
Minden kéréshez hozzárendelhető színes címke: red, blue, green, orange, purple. A címkék szerinti szűrés a keresősávon keresztül működik, a mappastruktúrától függetlenül, ami megkönnyíti a navigációt a több száz endpointot és sok modult tartalmazó projektekben.
Design Mode az Insomnia-ban lehetővé teszi API-specifikációk létrehozását OpenAPI 3.0 formátumban közvetlenül az alkalmazáson belül. A mód vizuális szerkesztőként működik: definiáljon endpointokat, adatsémákat és paramétereket a YAML kézi írása nélkül. A specifikáció közzétételhez JSON-ba vagy YAML-ba exportálható az adattárba.
Az Insomnia importálja a meglévő OpenAPI-specifikációkat, és automatikusan kérésekből álló kollekciót hoz létre minden endpointhoz. Az útvonalak és sémák kész HTTP-kérésekké alakulnak helyes adattípusokkal. Ez a funkció hasznos a mikroszolgáltatásokkal való integrációnál, ahol a specifikációt a backend-fejlesztők külön csapata tárolja és karbantartja.
A nagyszámú kérés rendszerezéséhez az Insomnia támogatja a címkézést — minden kéréshez hozzárendelhető színes címke: red, blue, green, orange, purple. A címkék szerinti szűrés a keresősávon keresztül működik, a mappastruktúrától függetlenül, ami megkönnyíti a navigációt a több száz endpointot és sok funkcionális API-modult tartalmazó projektekben.
Gyakran ismételt kérdések
Nem, a regisztráció nem kötelező. Az Insomnia teljesen offline működik. A felhőszinkronizáció opcióként érhető el a csapatmunkához, de minden adatot helyben tárolunk JSON-fájlokban a ~/.config/Insomnia/ mappában.
Exportálja a kollekciót a Postman-ből JSON formátumban (Collection v2.1). Az Insomnia-ban válassza az Import/Export → Import Data → From File lehetőséget. Az Insomnia automatikusan konvertálja a kollekciót a kérések, fejlécek és környezeti változók megtartásával.
Igen, a 2022-es verziótól kezdve. Az Insomnia támogatja a WebSocket és a Socket.IO protokollokat. Hozzon létre egy új, WebSocket típusú kérést, adja meg az URL-t (ws:// vagy wss://), és küldjön üzeneteket a chat felületen keresztül.
Inso CLI — az Insomnia natív segédprogramja kollekciók futtatásához a konzolból. A Newman a Postman megfelelője. Az Inso könnyebb, nem igényel külön telepítést (az Insomnia-val érkezik), és az Insomnia összes kéréstípusát támogatja, beleértve a GraphQL-t is.
Igen, az Insomnia támogatja a gRPC-kéréseket a gRPC fülön keresztül. Be kell tölteni egy .proto fájlt a szolgáltatás definíciójával. A betöltés után az Insomnia megjeleníti az elérhető RPC-metódusokat, és bináris Protobuf-üzenetet generál a küldéshez.
Összegzés
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is