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!

Odkazy #