Postman je ako nástroj pre vývoj API široko používaný vývojármi na testovanie, dokumentovanie a zdieľanie API. Jednou z najsilnejších funkcií Postmanu je schopnosť spúšťať kód pred odoslaním požiadavky, čo je známe ako pre-request skript. Táto funkcia umožňuje vývojárom manipulovať s parametrami požiadavky, pridávať dynamické premenné a vykonávať rôzne výpočty alebo validácie pred samotnou API požiadavkou.
Premenné prostredia #
Okrem pre-request skriptov Postman ponúka aj výkonnú funkciu nazývanú premenné prostredia. Premenné prostredia umožňujú vývojárom ukladať a znovu používať hodnoty naprieč viacerými požiadavkami a kolekciami. Táto funkcia môže byť obzvlášť užitočná pri práci so zložitými API, ktoré vyžadujú autentifikačné tokeny, API kľúče alebo iné dynamické premenné, ktoré sa v čase menia.
Na používanie premenných prostredia v Postmane môžu vývojári definovať sadu
premenných v súbore prostredia. Súbor prostredia je jednoducho kolekcia
párov kľúč-hodnota, ku ktorým majú prístup všetky požiadavky v rámci
kolekcie. Napríklad súbor prostredia pre testovacie prostredie môže
obsahovať premenné ako base_url a api_key. K týmto premenným môžu potom
pristupovať jednotlivé požiadavky pomocou dvojitých zložených závoriek a
názvu premennej ako {{base_url}}/users.
URL parametre pomocou addQueryParams #
V Postmane je funkcia addQueryParams JavaScript funkcia, ktorá umožňuje
vývojárom jednoducho pridávať query parametre k URL. Query parametre sa v
API často používajú na filtrovanie alebo stránkovanie výsledkov a môžu byť
pridané k URL ako páry kľúč-hodnota. Príklad:
pm.request.url.addQueryParams({ page: 1 })
Pomocou funkcie addQueryParams() v Postmane môžu vývojári vytvoriť
pre-request skript a použiť objekt pm.request.url na manipuláciu s URL
pred odoslaním požiadavky.
Kódovanie URI komponentov #
V JavaScripte sa funkcia encodeURIComponent() používa na kódovanie
špeciálnych znakov v URL. Keď URL obsahuje špeciálne znaky ako medzery,
ampersandy alebo lomítka, môžu spôsobiť problémy pri ich odovzdaní ako
parameter v požiadavke. Funkcia encodeURIComponent() zabezpečuje, že
tieto špeciálne znaky sú správne zakódované, aby ich bolo možné bezpečne
použiť v URL.
Na použitie funkcie encodeURIComponent() v JavaScripte jednoducho
odovzdajte reťazec, ktorý treba zakódovať, ako argument funkcie. Napríklad
nasledujúci kód zakóduje reťazec hello world:
let encodedString = encodeURIComponent("hello world")
Výsledný zakódovaný reťazec by bol “hello%20world”. Všimnite si, ako je znak medzery nahradený “%20”, čo je zakódovaná reprezentácia medzery v URL.
Funkciu encodeURIComponent() možno tiež použiť v spojení s funkciou
addQueryParams() v pre-request skriptoch Postmanu na správne kódovanie
hodnôt query parametrov. Napríklad, ak hodnota query parametra obsahuje
špeciálny znak, ako medzera alebo ampersand, musí byť správne zakódovaná
pred jej pridaním do URL. Nasledujúci skript demonštruje, ako správne
zakódovať hodnotu query parametra pred jej pridaním do URL:
let queryParamValue = "hello world & goodbye"
let encodedQueryParamValue = encodeURIComponent(queryParamValue)
pm.request.url.addQueryParams({ param: encodedQueryParamValue })
V tomto príklade sa funkcia encodeURIComponent() používa na zakódovanie
hodnoty premennej queryParamValue pred jej pridaním ako query parameter
do URL.
Celkovo vzato, funkcia encodeURIComponent() je jednoduchá, no výkonná
funkcia v JavaScripte, ktorú možno použiť na správne kódovanie špeciálnych
znakov v URL. V spojení s pre-request skriptmi Postmanu môže pomôcť
zabezpečiť, že API sú správne testované a fungujú podľa očakávania, aj pri
práci so špeciálnymi znakmi v query parametroch alebo častiach URL.
Práca s JSON objektmi #
V JavaScripte sa funkcia JSON.stringify() používa na konverziu JavaScript
objektu na JSON reťazec. JSON (skratka pre JavaScript Object Notation) je
odľahčený formát výmeny dát, ktorý sa bežne používa vo webových aplikáciách
na prenos dát medzi klientom a serverom.
Na použitie funkcie JSON.stringify() jednoducho odovzdajte objekt, ktorý
treba konvertovať, ako argument funkcie. Napríklad nasledujúci kód
konvertuje JavaScript objekt na JSON reťazec:
let obj = { name: "John", age: 30 }
let jsonString = JSON.stringify(obj)
console.log(jsonString)
Výsledný JSON reťazec by bol {"name": "John", "age": 30}. Všimnite si,
ako sú vlastnosti objektu konvertované na reťazec s pármi kľúč-hodnota
oddelenými dvojbodkami a páry oddelené čiarkami. Výsledný JSON reťazec
možno ľahko preniesť cez sieť a potom znovu sparsovať na JavaScript objekt
na prijímacej strane.
Funkcia JSON.stringify() môže byť tiež užitočná v pre-request skriptoch
Postmanu, kde ju možno použiť na konverziu objektu na reťazec pred jeho
odoslaním v tele požiadavky. Napríklad nasledujúci skript demonštruje, ako
použiť funkciu JSON.stringify() na konverziu objektu na reťazec pred jeho
odoslaním v požiadavke:
const key = pm.environment.get("API_KEY")
const email = pm.environment.get("EMAIL")
const init = JSON.stringify({ key, email })
pm.request.addQueryParams("data=" + encodeURIComponent(init))
To je všetko. Užívajte!