Junior
Kas yra REST API?
sobes.tech AI
Atsakymas iš AI
REST API — tai architektūros stilius, o ne standartas, skirtas paskirstytoms sistemoms kurti. Jis grindžiamas principais, tokiomis kaip statelessness, klientas-serveris architektūra ir standartinių HTTP metodų (GET, POST, PUT, DELETE, PATCH) naudojimas išteklių operacijoms.
REST pagrindiniai principai:
- Stateless (būsena be būsenos): Serveris neįsimena kliento būsenos tarp užklausų. Kiekviena užklausa turi visą reikalingą informaciją.
- Client-Server (klientas-serveris): Aiškus kliento ir serverio atskyrimas. Kiekvienas gali vystytis nepriklausomai.
- Cacheable (keshuojamas): Atsakymai gali būti pažymėti kaip keshuojami arba ne, tai pagerina našumą.
- Layered System (sluoksniuota sistema): Klientas nežino, ar jis tiesiogiai prisijungtas prie serverio, ar per tarpinį sluoksnį.
- Uniform Interface (vienodas sąsaja): Standartizuoti būdai sąveikai su ištekliais. Apima:
- Išteklų identifikavimą (URI)
- Išteklų manipuliavimą per reprezentacijas (informacija apie išteklių perduodama reprezentacijomis)
- Savarankiškai aprašomus pranešimus (kiekvienas pranešimas turi pakankamai informacijos apdorojimui)
- Hypermedia kaip programos būsenos variklis (HATEOAS) - programos būsena valdoma hipersaitais.
Pavyzdys naudojant standartinius HTTP metodus:
| HTTP metodas | Veiksmas su ištekliu (pvz., /users) |
Aprašymas |
|---|---|---|
GET |
/users arba /users/{id} |
Gauti naudotojų sąrašą arba konkretų naudotoją. |
POST |
/users |
Kurti naują naudotoją. |
PUT |
/users/{id} |
Visas naudotojo duomenų atnaujinimas pagal ID. |
PATCH |
/users/{id} |
Dalinis naudotojo duomenų atnaujinimas pagal ID. |
DELETE |
/users/{id} |
Ištrinti naudotoją pagal ID. |
REST API naudojami sąveikai tarp skirtingų sistemų ir programų, pavyzdžiui, tarp frontendo ir backendo.