Postman — платформа за тестирање API-ја са графичким интерфејсом, подржава REST, GraphQL, WebSocket и gRPC протоколе. Алат омогућава креирање и слање HTTP захтева, организовање у колекције, аутоматизовање тестирања преко скрипти и генерисање документације за ендпоинте. Према подацима Postman Learning Center (2026), платформу користи више од 25 милиона програмера широм света.
Најважније
Postman — платформа за развој и тестирање API-ја, доступна као десктоп апликација (Windows, macOS, Linux) и веб верзија. Првобитно креиран као екстензија за Chrome 2012. године, Postman је прерастао у потпуни екосистем са подршком за мониторинг, mock сервере и генерисање клијентског кода.
Postman подржава све HTTP методе: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Тело захтева може бити у форматима JSON, XML, form-data, x-www-form-urlencoded и binary. Одговор се приказује са истицањем синтаксе, Pretty-print-ом и могућношћу прегледа сирових заглавља.
Уграђени типови аутентификације укључују Bearer Token, Basic Auth, Digest Auth, OAuth 1.0, OAuth 2.0, API Key и AWS Signature. Postman аутоматски додаје Authorization заглавље према изабраном типу, што убрзава тестирање заштићених ендпоинта без ручног копирања токена.
Postman интерфејс се састоји од бочног панела (Collections, APIs, Environments), радне области (Request Builder/Response Viewer) и доњег панела (Console, Runner). Таб Params омогућава уређивање query параметара URL-а у табеларном облику, а таб Headers — управљање HTTP заглављима.
Console (View → Show Postman Console) евидентира све мрежне захтеве и одговоре у хронолошком редоследу, укључујући међурердиректе и заглавља. То је незаменљив алат при отклањању грешака у сложеним OAuth токовима и ланцима редиректа, када стандардни Response Viewer приказује само крајњи резултат.
Postman подржава тимске радне просторе (Workspaces) са верзионисањем колекција преко Fork и Merge. Чланови тима могу да коментаришу захтеве, предлажу измене и синхронизују колекције у реалном времену. Public Workspace омогућава објављивање API документације за спољне програмере.
Основни захтев у Postman-у се креира избором HTTP методе и уносом URL-а у адресну линију. Након слања, одговор се приказује у доњем панелу са кодом статуса, временом извршавања и величином. Параметри захтева се аутоматски кодирају при уносу.
У URL-у и телу захтева могу се користити динамичке променљиве у формату {`{`}}$variable${`}`}. Уграђене променљиве {`{`}$guid${`}`}, {`{`}$timestamp${`}`} и {`{`}$randomInt${`}`} генеришу јединствене вредности за сваки захтев. Снипети кода су доступни преко дугмета Code (>), које генерише еквивалентан захтев на cURL, Python, JavaScript, Kotlin, Swift и другим језицима.
// Пример скрипте у Pre-request: генерисање HMAC потписа
const timestamp = Date.now().toString();
const secret = pm.environment.get("api_secret");
const hash = CryptoJS.HmacSHA256(timestamp, secret);
pm.request.headers.add({
key: "X-Signature",
value: hash.toString()
});
Колекције су групе повезаних захтева, обједињених по пројекту или функционалном модулу. Свака колекција може да садржи угнежђене фасцикле, заједничка заглавља и Pre-request скрипте, које се извршавају пре сваког захтева у колекцији. Редослед захтева се поставља превлачењем.
Postman подржава пет нивоа променљивих: global, collection, environment, data и local. Приоритет решавања конфликата — од локалних ка глобалним. Environment датотеке садрже парове кључ-вредност за различита окружења: development, staging, production. Промена окружења мења све URL-ове и токене аутоматски.
| Ниво | Област видљивости | Приоритет |
|---|---|---|
| Local | Тренутни захтев | 1 (највиши) |
| Data | Collection Runner (из CSV/JSON-а) | 2 |
| Environment | Активно окружење | 3 |
| Collection | Цела колекција | 4 |
| Global | Цео радни простор | 5 |
Postman омогућава писање тестова на JavaScript-у у табу Tests, који се извршавају након пријема одговора. Тестови проверавају код статуса, тело одговора, заглавља и време извршавања. Резултати се приказују у панелу Test Results са обојеном индикацијом проласка.
Објекат pm пружа методе за рад са одговором: pm.response, pm.expect, pm.variables. Везивање захтева се реализује чувањем података из одговора једног захтева у променљиву и коришћењем у следећем. То је основа за изградњу интеграционих тестова и проверу бизнис логике кроз низ API позива.
// Тест: провера структуре одговора и чување токена
pm.test("Status code is 200", () => {
pm.response.to.have.status(200);
});
const json = pm.response.json();
pm.environment.set("auth_token", json.data.token);
Collection Runner покреће све захтеве колекције секвенцијално, извршавајући тестове на сваком кораку. Newman — конзолна верзија Postman-а за CI/CD пајплајнове (Jenkins, GitHub Actions, GitLab CI). Newman извози извештај у форматима JSON, JUnit и HTML за интеграцију са системима за мониторинг.
GraphQL захтеви се у Postman-у шаљу преко POST на јединствени ендпоинт са телом у JSON формату. Таб GraphQL (Beta) пружа визуелни едитор са истицањем синтаксе, аутоматским допуњавањем поља и шемом. Променљиве захтева се прослеђују у посебном панелу Variables.
Postman подржава WebSocket конекције преко посебног интерфејса са панелом за поруке. Могу се слати текстуалне и бинарне поруке, прегледати историја конекције и аутоматски поново повезати при прекиду. Socket.IO клијент ради у режиму компатибилности са Engine.IO протоколом.
// WebSocket тест у Postman-у преко pm API-ја
const ws = new WebSocket("wss://echo.websocket.org");
ws.onmessage = (event) => {
pm.test("Echo response received", () => {
pm.expect(event.data).to.eql("Hello");
});
};
Mock сервери омогућавају емулацију API ендпоинта на основу постојећих колекција. То је корисно када бекенд још није готов, а фронтенд или мобилна апликација се већ развија. Mock сервер враћа пример одговора из колекције са исправним заглављима и кодом статуса.
Mock сервер се креира из колекције једним кликом: изаберите колекцију → Mock Servers → Add a new mock server. Postman генерише јединствени URL, који се може користити у коду апликације уместо правог API-ја. За сваки захтев колекције mock враћа сачувани Example Response, што омогућава проверу UI-ја до завршетка бекенда.
Monitors покрећу колекцију по распореду (сваких 5 минута, сат или дан) и проверавају доступност и исправност API-ја. При паду теста, монитор шаље обавештење на email или у Slack. Мониторинг ради из Postman облака, не захтева посебан сервер и подржава до 10 000 захтева месечно на бесплатном тарифу.
// Тест за мониторинг: провера времена одговора
pm.test("Response time < 2000ms", () => {
pm.expect(pm.response.responseTime).to.be.below(2000);
});
pm.test("Content-Type is JSON", () => {
pm.response.to.have.header("Content-Type");
});
Postman пружа механизме за безбедан рад са API кључевима. Променљиве типа Secret се шифрују и не приказују у интерфејсу. За тимски рад користите Workspace са улогама Admin, Editor и Viewer.
При креирању променљиве окружења изаберите тип Secret — вредност се скрива звездицама у свим интерфејсима. Тајне се не извозе у колекцију при дељењу и не приказују се у Newman дневницима. Лозинке и токене препоручује се чувати само у Secret променљивим.
Postman подржава интеграцију са HashiCorp Vault и AWS Secrets Manager. Pre-request скрипте могу динамички да затраже тајне из спољног складишта, искључујући чување осетљивих података у датотекама колекције и окружења.
Postman пружа механизме за безбедан рад са API кључевима. Променљиве типа Secret се шифрују и не приказују у интерфејсу. За тимски рад користите Workspace са улогама Admin, Editor и Viewer.
При креирању променљиве окружења изаберите тип Secret — вредност се скрива звездицама у свим интерфејсима. Тајне се не извозе у колекцију при дељењу и не приказују се у Newman дневницима. Лозинке и токене препоручује се чувати само у Secret променљивим.
Postman подржава интеграцију са HashiCorp Vault и AWS Secrets Manager. Pre-request скрипте могу динамички да затраже тајне из спољног складишта, искључујући чување осетљивих података у датотекама колекције и окружења.
Честа питања
Postman нуди шири екосистем: колекције, окружења, мониторинг, mock сервере и Newman за CI/CD. Insomnia се фокусира на лакоћу и брзину са мањом потрошњом меморије. Postman је бољи за тимски рад, Insomnia — за индивидуалну употребу.
У Tests првог захтева сачувајте токен у environment: pm.environment.set("token", pm.response.json().token). У другом захтеву користите променљиву {`{`}$token${`}`} у Authorization заглављу. Runner ће аутоматски убацити вредност при секвенцијалном покретању.
Да, преко дугмета Import → Raw Text. Postman аутоматски парсира cURL команду и креира захтев са заглављима, методом и телом. Подржани су сви cURL флагови, укључујући -H, -d, -F и -u. Обрнута конверзија је доступна преко дугмета Code (<>).
Користите POST захтев са JSON телом: {"query": "..."}. Таб GraphQL пружа визуелни едитор са учитавањем шеме преко Introspection Query. Променљиве захтева се прослеђују у поље variables истог JSON објекта.
Newman — конзолна верзија Postman-а за покретање колекција у CI/CD-у. Инсталира се преко npm-а, подржава HTML извештаје и интеграцију са Jenkins, GitHub Actions и GitLab CI. Омогућава аутоматизацију регресивног тестирања API-ја без графичког интерфејса.
Закључци
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође