Junior
Čo je REST orientovaná architektúra (ROA)?
sobes.tech AI
Odpoveď od AI
REST-orientovaná architektúra (Representational State Transfer) je architektonický štýl pre distribuované systémy, založený na súbore princípov, ktoré určujú, ako sú zdroje identifikované a ako prebieha interakcia medzi klientom a serverom.
Hlavné princípy REST:
- Klient-server (Client-Server): Rozdelenie zón zodpovednosti. Klient sa stará o používateľské rozhranie, server o ukladanie a spracovanie dát.
- Bezstavovosť (Stateless): Každý požiadavok od klienta na server musí obsahovať všetky potrebné informácie na jeho spracovanie. Server neukladá stav klienta medzi požiadavkami.
- Cache-ovateľnosť (Cacheable): Klienti a medzičlánky môžu cacheovať odpovede servera na zvýšenie výkonu a škálovateľnosti.
- Jednotný rozhranie (Uniform Interface):
- Identifikácia zdrojov (Identification of resources): Zdroje sú jednoznačne identifikované cez URL.
- Manipulácia so zdrojmi cez reprezentácie (Manipulation of resources through representations): Klient môže manipulovať so zdrojmi pomocou reprezentácie zdroja (napríklad JSON, XML).
- Samopopisné správy (Self-descriptive messages): Každá správa obsahuje dostatok informácií na pochopenie, ako ju spracovať.
- Riadenie stavu aplikácie pomocou hypermedii (Hypermedia as the Engine of Application State - HATEOAS): Klient komunikuje s aplikáciou výlučne cez hypertextové odkazy, ktoré sú poskytované v odpovediach servera.
- Skladaný systém (Layered System): Systém môže byť organizovaný do vrstiev (napríklad proxy, brány), a každý komponent vidí iba nasledujúcu vrstvu, s ktorou komunikuje.
- Kód na požiadanie (Code-On-Demand - voliteľné): Server môže dočasne rozširovať funkčnosť klienta odovzdávaním spustiteľného kódu (napríklad JavaScript).
V QA, testovanie REST API zahŕňa overenie súladu s týmito princípmi, ako aj:
- Funkčné testovanie (HTTP metódy GET, POST, PUT, DELETE).
- Záťažové testovanie.
- Testovanie bezpečnosti.
- Testovanie kompatibility (rôzne dátové formáty, klienti).