Sobes.tech
Junior

Mi az a REST?

sobes.tech MI

Válasz az MI-től

REST (Representational State Transfer) egy architekturális stílus az elosztott rendszerek felépítéséhez, amelyet főként webszolgáltatások tervezésekor használnak. Egy olyan készletre épül, amely meghatározza, hogyan kommunikálnak egymással a webes erőforrások.

A REST kulcsfontosságú elvei:

  • Kliens-szerver: Világos felelősségmegosztás a kliens és a szerver között.
  • Állapot nélküli (stateless): A szerver nem tárol információt a kliens állapotáról a kérések között. Minden kérés tartalmazza a feldolgozáshoz szükséges összes információt.
  • Cache-elhető: A kliensek cache-elhetik a szerver válaszait a teljesítmény növelése érdekében. A szerver kifejezetten jelzi, hogy a válasz cache-elhető-e.
  • Réteges rendszer: A kliens kommunikálhat egy közbenső réteggel (pl. proxy, terheléselosztó) anélkül, hogy tudna róla.
  • Kód kérésre (opcionális): A szerver futtatható kódot (pl. JavaScript) küldhet a kliensnek, bővítve a kliens funkcionalitását.
  • Egységes felület: A legfontosabb elv, amely a következő korlátozásokat tartalmazza:
    • Erőforrások azonosítása (URI).
    • Erőforrások manipulálása reprezentációk révén (adatformátumok cseréje, pl. JSON, XML).
    • Önmagát leíró üzenetek (az üzenetek tartalmazzák az összes szükséges információt a megértéshez).
    • HATEOAS (Hypermedia az alkalmazás állapotának motorja): A kliens az alkalmazás állapotai között navigál hiperhivatkozások segítségével, amelyek a szerver válaszaiban találhatók.

A RESTful API a REST stílus megvalósítása webszolgáltatásokhoz, amely a szabványos HTTP-módszereket (GET, POST, PUT, DELETE) használja az erőforrások kezelésére.

// Példa HTTP-módszerek használatára RESTful API-ben
// Erőforrás lekérése
// GET /api/products/1

// Erőforrás létrehozása
// POST /api/products
// Test: { "name": "Új Termék", "price": 10.50 }

// Erőforrás frissítése
// PUT /api/products/1
// Test: { "name": "Frissített Termék", "price": 11.00 }

// Erőforrás törlése
// DELETE /api/products/1