Junior
Kas yra REST orientuota architektūra (ROA)?
sobes.tech AI
Atsakymas iš AI
REST orientuota architektūra (Representational State Transfer) — tai architektūros stilius paskirstytoms sistemoms, pagrįstas principais, kurie apibrėžia, kaip identifikuojami ištekliai ir kaip vyksta sąveika tarp kliento ir serverio.
REST pagrindiniai principai:
- Klientas-serveris (Client-Server): atsakomybės sričių atskyrimas. Klientas rūpinasi naudotojo sąsaja, serveris — duomenų saugojimu ir apdorojimu.
- Be būsenos (Stateless): kiekvienas užklausimas iš kliento į serverį turi būti pilnas, turintis visą reikalingą informaciją jo apdorojimui. Serveris nesaugo kliento būsenos tarp užklausų.
- Talpinamumas (Cacheable): klientai ir tarpiniai mazgai gali talpinti serverio atsakymus, siekiant pagerinti našumą ir mastelį.
- Vienodas sąsajos principas (Uniform Interface):
- Ištekliai identifikuojami (Identification of resources): ištekliai unikalūs per URL.
- Ištekliai manipuliuojami per reprezentacijas (Manipulation of resources through representations): klientas gali manipuliuoti ištekliais naudodamas jų reprezentaciją (pvz., JSON, XML).
- Savarankiškai aprašomos žinutės (Self-descriptive messages): kiekviena žinutė turi pakankamai informacijos, kad ją būtų galima apdoroti.
- Hipermedija kaip programos būsenos variklis (Hypermedia as the Engine of Application State - HATEOAS): klientas sąveikauja tik per serverio atsakymuose pateiktas hipersaites.
- Sluoksniuota sistema (Layered System): sistema gali būti organizuota sluoksniais (pvz., proxy, vartai), ir kiekvienas komponentas mato tik sekantį sluoksnį, su kuriuo sąveikauja.
- Kodas pagal poreikį (Code-On-Demand - pasirenkama): serveris gali laikinai išplėsti kliento funkcionalumą perduodamas vykdomą kodą (pvz., JavaScript).
QA testavime REST API apima šių principų atitikties patikrinimą, taip pat:
- Funkcinis testavimas (HTTP metodai GET, POST, PUT, DELETE).
- Apkrovos testavimas.
- Saugumo testavimas.
- Suderinamumo testavimas (skirtingi duomenų formatų, klientai).