Insomnia — шта је то, REST и GraphQL клијент у развоју

Аутор: IT Sectr Објављено: 2026-05-08 Време читања: 8 мин

Insomnia — десктоп HTTP клијент отвореног кода за тестирање REST, GraphQL и WebSocket API-ја. Алат се издваја минималистичким интерфејсом, уграђеним уређивачем захтева и подршком за променљиве окружења без потребе за регистрацијом. Према Insomnia Documentation (2026), клијент подржава аутоматско генерисање кода на 20+ програмских језика.

Најважније

  • Insomnia — бесплатан REST и GraphQL клијент са фокусом на перформансе и локални рад без облачне синхронизације.
  • Окружења у Insomnia подржавају угњежденост и наслеђивање променљивих преко JSON датотека са истицањем синтаксе.
  • GraphQL уређивач укључује аутоматско допуњавање шеме, документацију типова и визуелно прављење захтева преко GraphQL картице.
  • Code Generation конвертује захтев у код на cURL, Python, JavaScript, Kotlin, Swift, Rust и другим језицима.
  • Plugin систем проширује функционалност преко спољних додатака за означавање, извоз и генерисање података.

Шта је Insomnia и кључне карактеристике

Insomnia — крос-платформска апликација (Electron) за слање HTTP захтева и отклањање грешака у API-ју. Развија је компанија Kong од 2016. године као алтернативу Postman-у са акцентом на брзину рада и приватност: подаци се чувају локално, облачна синхронизација је опционална и захтева регистрацију.

Интерфејс и навигација

Главни прозор је подељен на три колоне: лево — стабло захтева (Workspace), у средини — уређивач захтева са картицама Params, Headers, Body, десно — панел одговора са Pretty, Raw и Preview режимима. Тамна тема је подразумевано укључена, а прилагођене теме су подржане преко CSS променљивих.

Генерисање кода

Insomnia подржава извоз захтева у код на 20+ језика и фрејмворка: cURL, HTTPie, Python Requests, JavaScript Fetch/Axios, Kotlin OkHttp, Swift URLSession, Java Unirest, Ruby Net::HTTP и друге. Генератор узима у обзир заглавља, тело захтева и тип аутентификације, што убрзава интеграцију API-ја у код апликације.

Insomnia vs Postman: поређење API клијената

Insomnia и Postman решавају исти задатак, али са различитим приоритетима. Insomnia је лакши (~80 MB према ~300 MB), брже се покреће и ради потпуно офлајн без наметања регистрације. Postman нуди зрелији екосистем са мониторингом, mock серверима и тимским workspace-има.

КритеријумInsomniaPostman
Тежина апликације~80 MB~300 MB
Офлајн режимПотпунОграничен
GraphQLУграђени уређивачБета верзија
CLIInso CLINewman
ДодациPlugin HubЕкстензије

Избор алата према задатку

За индивидуални развој и брзо тестирање endpoint-ова Insomnia је погоднији због лакоће и одсуства регистрације. За тимски рад са заједничком колекцијом, CI/CD интеграцијом и мониторингом production API-ја Postman остаје индустријски стандард.

Организација радног простора и окружења

Workspace у Insomnia садржи стабло захтева, подељено у фасцикле. Сваки захтев може бити типа HTTP, GraphQL, WebSocket или gRPC. Подржани су превлачење, дуплирање и груписање захтева по обојеним ознакама. Фајл конфигурације workspace-а чува се у JSON формату.

Променљиве окружења са наслеђивањем

Insomnia подржава угњеждена окружења (Sub Environments), која наслеђују променљиве родитеља. Ово омогућава дефинисање основног URL-а у глобалном окружењу и преиначавање само различитих параметара за различите средине. Променљиве се замењују кроз синтаксу {`{`}_variable${`}`}.

json
// Пример структуре Insomnia окружења
{
    "base_url": "https://api.example.com",
    "timeout": 5000,
    "headers": {
        "Content-Type": "application/json",
        "Accept": "application/json"
    }
}

Рад са GraphQL у Insomnia

Insomnia нуди један од најбољих GraphQL уређивача међу API клијентима. GraphQL Query картица омогућава писање захтева са аутоматским допуњавањем поља на основу учитане шеме. Десно се приказује документација типова, поља и аргумената у реалном времену.

Учитавање шеме и Introspection

Шема се учитава кроз GraphQL Introspection захтев ка endpoint-у. Insomnia кешира шему локално и аутоматски је ажурира при променама. Након учитавања постају доступни аутоматско допуњавање (Ctrl+Space), валидација захтева и преглед могућих грешака пре слања.

graphql
# GraphQL захтев са променљивим у Insomnia
query GetUser($id: ID!) {
    user(id: $id) {
        name
        email
        posts {
            title
            createdAt
        }
    }
}

Додаци и проширење могућности

Insomnia Plugin Hub садржи више од 100 додатака који проширују функционалност клијента. Додаци се инсталирају кроз мени Preferences → Plugins или ручно преко npm-а. Популарне категорије укључују генерисање тест података, извоз у различите формате и прилагођене валидаторе одговора. Сваки додатак пролази обавезну модерацију пре објављивања у заједничком hub-у програмера.

Популарни додаци

  • insomnia-plugin-faker — генерисање лажних података (име, email, телефон) за тест захтеве.
  • insomnia-plugin-aws4 — потписивање захтева по AWS Signature Version 4 за рад са Amazon API Gateway и S3.
  • insomnia-plugin-utils — алати за рад са датумима, хеширање и Base64 кодирање директно у захтевима.

Додаци се пишу на JavaScript-у и комуницирају са Insomnia-ом преко API-ја за шаблоне (response.*, request.*, environment.*). Развој додатка захтева основно познавање Node.js-а и објављивање преко npm пакета са ознаком insomnia-plugin.

CLI и аутоматизација тестирања

Inso CLI — конзолни алат уграђен у Insomnia за покретање захтева и тестова из терминала. Inso покреће појединачне захтеве или целе колекције, извози резултате у JSON и може се интегрисати у CI/CD pipeline-ове. Команда inso run collection секвенцијално извршава све захтеве у колекцији.

Пример интеграције у GitHub Actions

Inso CLI ради у Docker контејнерима и headless режиму, што омогућава његову употребу у GitHub Actions и GitLab CI. Конфигурација покретања описује се у YAML фајлу са навођењем путање до извезене колекције и окружења. Подржане су асерције на статусни код и тело одговора преко JavaScript скрипти.

yaml
# GitHub Actions workflow са Inso CLI
- name: Run API tests
  run: npx insomnia-inso run collection
    --collection "Auth API"
    --env "Staging"
    --reporter junit
    --output reports/api-results.xml

Интеграција Insomnia са Git-ом и тимски рад

Insomnia подржава синхронизацију колекција преко Git-а. Фајлови колекција чувају се у JSON формату и могу се додати у репозиторијум пројекта. Insomnia нуди уграђени Git клијент за преглед промена, прављење commit-ова и решавање конфликата при спајању директно из интерфејса.

Подешавање Git синхронизације

За повезивање Git-а креирајте локалну фасциклу са репозиторијумом и означите је као коренски директоријум у подешавањима Insomnia. Апликација аутоматски прати промене у фајловима колекције и приказује их у панелу Version Control. Подржане су стандардне операције: commit, push, pull и преглед diff-а између верзија.

Тимски рад преко Insomnia Cloud

За пројекте без Git-а Insomnia нуди облачну синхронизацију преко Insomnia Cloud-а. Бесплатни тарифни план укључује до 3 члана тима и аутоматско прављење резервних копија колекција. Плаћени планови додају управљање приступом, аудит промена и приоритетну подршку.

Начин синхронизацијеБесплатноОфлајнКонтрола верзија
Git (локални)ДаДаПотпуна (commit, diff, merge)
Insomnia CloudДо 3 корисникаНеОсновна (историја промена)
Извоз фајловаДаДаРучна (преко система за контролу верзија)

Design Mode и генерисање спецификација

Design Mode у Insomnia омогућава креирање API спецификација у OpenAPI 3.0 формату. Режим ради као визуелни уређивач: дефинишите endpoint-ове и шеме података без ручног писања YAML-а. Спецификација се може извести у JSON или YAML.

Генерисање колекције из OpenAPI

Insomnia увози OpenAPI спецификације и креира колекцију захтева за сваки endpoint. Путање и шеме претварају се у готове HTTP захтеве. Функција је корисна при интеграцији са микросервисима, где се спецификација чува у посебном репозиторијуму тима.

Означавање захтева

Сваком захтеву може се доделити обојена ознака: red, blue, green, orange, purple. Филтрирање по ознакама ради кроз претраживач независно од структуре фасцикли, што поједностављује навигацију у пројектима са стотинама endpoint-ова и много модула.

Design Mode и генерисање спецификација

Design Mode у Insomnia омогућава креирање API спецификација у OpenAPI 3.0 формату директно унутар апликације. Режим ради као визуелни уређивач: дефинишите endpoint-ове, шеме података и параметре без ручног писања YAML-а. Спецификација се може извести у JSON или YAML за објављивање у репозиторијуму.

Генерисање колекције из OpenAPI

Insomnia увози постојеће OpenAPI спецификације и аутоматски креира колекцију захтева за сваки endpoint. Путање и шеме претварају се у готове HTTP захтеве са исправним типовима података. Ова функција је корисна при интеграцији са микросервисима, где спецификацију чува и одржава посебан тим backend програмера.

Означавање и филтрирање захтева

За организовање великог броја захтева Insomnia подржава означавање — сваком захтеву може се доделити обојена ознака: red, blue, green, orange, purple. Филтрирање по ознакама ради кроз претраживач независно од структуре фасцикли, што поједностављује навигацију у пројектима са стотинама endpoint-ова и много функционалних API модула.

Често постављана питања

Да ли је регистрација потребна за рад са Insomnia?

Не, регистрација није обавезна. Insomnia ради потпуно офлајн. Облачна синхронизација је доступна као опција за тимски рад, али се сви подаци чувају локално у JSON фајловима у фасцикли ~/.config/Insomnia/.

Како увести колекцију из Postman-а у Insomnia?

Извезите колекцију из Postman-а у JSON формату (Collection v2.1). У Insomnia изаберите Import/Export → Import Data → From File. Insomnia ће аутоматски конвертовати колекцију уз задржавање захтева, заглавља и променљивих окружења.

Да ли Insomnia подржава WebSocket?

Да, од верзије 2022. Insomnia подржава WebSocket и Socket.IO протоколе. Креирајте нови захтев типа WebSocket, наведите URL (ws:// или wss://) и шаљите поруке кроз интерфејс за ћаскање.

По чему се Inso CLI разликује од Newman-а?

Inso CLI — изворни алат Insomnia за покретање колекција из конзоле. Newman је аналог за Postman. Inso је лакши, не захтева посебну инсталацију (долази са Insomnia) и подржава све типове Insomnia захтева, укључујући GraphQL.

Може ли се Insomnia користити за gRPC?

Да, Insomnia подржава gRPC захтеве преко gRPC картице. Потребно је учитати .proto фајл са дефиницијом услуге. Након учитавања Insomnia приказује доступне RPC методе и генерише бинарну Protobuf поруку за слање.

Закључак

  • Insomnia — лаган и брз HTTP клијент за REST, GraphQL и WebSocket са потпуно офлајн радом.
  • GraphQL уређивач са аутоматским допуњавањем и учитавањем шеме кроз Introspection — једно од најбољих решења међу API клијентима.
  • Окружења подржавају угњежденост и наслеђивање променљивих за флексибилно подешавање за различите средине.
  • Генерисање кода на 20+ језика убрзава интеграцију API-ја у мобилне и веб апликације.
  • Plugin Hub проширује функционалност кроз додатке за генерисање података, потписивање захтева и прилагођену валидацију.
  • Inso CLI покреће колекције у CI/CD без графичког интерфејса са извозом резултата у JUnit формат.
  • gRPC подршка са учитавањем .proto фајлова чини Insomnia универзалним алатом за микросервисну архитектуру.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође