Sobes.tech
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