Čo je REST API?
REST (Representational State Transfer) je softvérový architektonický štýl pre vytváranie webových služieb. Definuje pravidlá, ako by mali klient a server komunikovať cez HTTP protokol. REST API je dnes najrozšírenejší spôsob, akým webové aplikácie a mobilné appky získavajú a odosielajú dáta.
Definícia REST API
Čo je REST API
REST (Representational State Transfer) je architektonický štýl, ktorý v roku 2000 definoval americký informatik Roy Fielding vo svojej dizertačnej práci na University of California, Irvine. Pôvodne vznikol ako formálny popis fungovania webu (World Wide Web), no rýchlo sa stal de facto štandardom pre návrh webových API.
REST nie je protokol ani knižnica — je to súbor architektonických obmedzení (constraints), ktoré zabezpečujú škálovateľnosť, jednoduchosť a spoľahlivosť distribuovaných systémov.
Základné princípy REST
- Klient-server — oddelenie používateľského rozhrania od dátového úložiska umožňuje nezávislý vývoj oboch častí
- Bezstavovosť (stateless) — každá požiadavka musí obsahovať všetky informácie potrebné na jej spracovanie; server si nepamätá predchádzajúce požiadavky
- Cacheovateľnosť — odpovede servera musia jasne označiť, či sa dajú uložiť do vyrovnávacej pamäte
- Jednotné rozhranie (uniform interface) — zdroje sú identifikované cez URL a manipulované cez štandardné HTTP metódy:
GET,POST,PUT,DELETE - Vrstvený systém — medzi klientom a serverom môžu byť medzivrstvy (proxy, CDN, load balancer) bez toho, aby o tom klient vedel
API, ktoré dodržiava tieto princípy, sa označuje ako RESTful. Väčšina moderných webových služieb (Google, Facebook, Stripe, GitHub) poskytuje RESTful API na výmenu dát vo formáte JSON.
Praktický príklad
Príklad: Máte e-shop a chcete zobraziť zoznam produktov v mobilnej aplikácii.
Mobilná appka pošle HTTP požiadavku GET https://api.vas-eshop.sk/v1/produkty. Server vráti JSON odpoveď so zoznamom produktov vrátane názvu, ceny a obrázku. Ak chcete pridať nový produkt, pošlete POST požiadavku s údajmi v tele (body) požiadavky.
Vďaka REST API môže rovnaké dáta využívať web, mobilná appka aj partnerské systémy — stačí jeden backend.
Často kladené otázky
Čo je REST API a na čo slúži?
REST API je spôsob komunikácie medzi aplikáciami cez internet pomocou HTTP protokolu. Slúži na získavanie, vytváranie, aktualizáciu a mazanie dát — napríklad keď mobilná appka zobrazuje produkty z e-shopu.
Aký je rozdiel medzi REST a RESTful?
REST je architektonický štýl (súbor pravidiel), zatiaľ čo RESTful označuje konkrétne API, ktoré tieto pravidlá dodržiava. V praxi sa oba pojmy často používajú zameniteľne.
Aké HTTP metódy sa používajú v REST API?
Najpoužívanejšie sú GET (čítanie), POST (vytváranie), PUT (aktualizácia), PATCH (čiastočná aktualizácia) a DELETE (mazanie). Každá metóda zodpovedá konkrétnej operácii nad zdrojom (resource).
Je REST API bezpečné?
Samotný REST nedefinuje bezpečnostné mechanizmy. Zabezpečenie sa rieši cez HTTPS (šifrovaný prenos), autentifikáciu (napr. OAuth alebo JWT tokeny) a autorizáciu na úrovni servera.
Súvisiace pojmy
Potrebujete pomôcť s webom?
Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.