Sobes.tech
Junior

Kas ir REST?

sobes.tech AI

Atbilde no AI

REST (Representational State Transfer) — tas arhitektūras stils, kas paredzēts izplatītu sistēmu būvniecībai, galvenokārt izmantojot tīmekļa pakalpojumus. Tas balstās uz principiem un ierobežojumiem, kas nosaka, kā tīmekļa resursi savstarpēji mijiedarbojas:

REST galvenie principi:

  • Klients-serveris: skaidrs atbildības sadalījums starp klientu un serveri.
  • Stateless (bez stāvokļa): serveris nesaglabā informāciju par klienta stāvokli starp pieprasījumiem. Katrs pieprasījums satur visu nepieciešamo informāciju.
  • Cacheable (kešojams): klienti var kešot servera atbildes, lai uzlabotu veiktspēju. Serveris skaidri norāda, vai atbilde ir kešojama.
  • Layered System (slāņots sistēma): klients var mijiedarboties ar starpslāņiem (piemēram, starp proxy, slodzes balansētāju), nezinot par to.
  • Code on Demand (koda pēc pieprasījuma) - opcijami: serveris var pārsūtīt izpildāmo kodu klientam (piemēram, JavaScript), paplašinot klienta funkcionalitāti.
  • Uniform Interface (vienota saskarne): svarīgākais princips, kas ietver šādus ierobežojumus:
    • resursu identifikācija (URI).
    • resursu manipulācija ar reprezentācijām (datu apmaiņa noteiktā formātā, piemēram, JSON, XML).
    • pašaprakstījošas ziņojumi (ziņojumi satur visu nepieciešamo informāciju to sapratnei).
    • HATEOAS (Hypermedia as the Engine of Application State): klients pāriet starp lietojuma stāvokļiem, izmantojot servera atbildēs iekļautās hipersaites.

RESTful API — tas ir REST stila realizācija tīmekļa pakalpojumiem, kas izmanto standarta HTTP metodes (GET, POST, PUT, DELETE), lai strādātu ar resursiem:

// Piemērs, kā izmantot HTTP metodes RESTful API
// Resursa iegūšana
// GET /api/products/1

// Resursa izveide
// POST /api/products
// Body: { "name": "New Product", "price": 10.50 }

// Resursa atjaunināšana
// PUT /api/products/1
// Body: { "name": "Updated Product", "price": 11.00 }

// Resursa dzēšana
// DELETE /api/products/1