Junior
Mis on REST?
sobes.tech AI
Vastus AI-lt
REST (Representational State Transfer) — see arhitektuuristiil on mõeldud hajutatud süsteemide ehitamiseks ning seda kasutatakse peamiselt veebi teenuste disainimisel. See põhineb põhimõtetel ja piirangutel, mis määratlevad, kuidas veebiressursid omavahel suhtlevad:
REST-i põhiprincipid:
- Klient-server: selge vastutuse jaotus kliendi ja serveri vahel.
- Stateless (olekuta): server ei salvesta teavet kliendi oleku kohta küsimuste vahel. Iga päring sisaldab kõiki vajalikke andmeid.
- Cacheable (vahemälus hoitav): kliendid saavad vahemällu salvestada serveri vastuseid, et parandada jõudlust. Server näitab selgelt, kas vastus on vahemällu salvestatav.
- Layered System (kihiline süsteem): klient saab suhelda vahekihtidega (näiteks proxy, koormuse jaotaja) teadmata, kuidas see toimub.
- Code on Demand (koodi nõudmisel) - valikuline: server võib edastada täidetava koodi kliendile (näiteks JavaScript), laiendades kliendi funktsionaalsust.
- Uniform Interface (ühtne liides): kõige olulisem põhimõte, mis hõlmab järgmisi piiranguid:
- Ressursside identifitseerimine (URI).
- Ressursside manipuleerimine esitluste kaudu (andmete vahetamine kindlas formaadis, näiteks JSON, XML).
- Enesekirjeldavad sõnumid (sõnumid sisaldavad kogu vajalikku teavet nende mõistmiseks).
- HATEOAS (Hypermedia as the Engine of Application State): klient liigub rakenduse olekute vahel, kasutades serveri vastustes sisalduvaid hüperlinke.
RESTful API — see on REST-stiili rakendamine veebi teenustele, kasutades standardseid HTTP meetodeid (GET, POST, PUT, DELETE) ressurssidega töötamiseks:
// Näide HTTP meetodite kasutamisest RESTful API-s
// Ressursi saamine
// GET /api/products/1
// Ressursi loomine
// POST /api/products
// Body: { "name": "New Product", "price": 10.50 }
// Ressursi uuendamine
// PUT /api/products/1
// Body: { "name": "Updated Product", "price": 11.00 }
// Ressursi kustutamine
// DELETE /api/products/1