Sobes.tech
Junior

Aký je rozdiel medzi metódami REST?

sobes.tech AI

Odpoveď od AI

REST (Representational State Transfer) je architektonický štýl pre distribuované systémy, nie štandard. Avšak, je zvyčajne spojený s používaním HTTP metód na interakciu s prostriedkami. Hlavné HTTP metódy používané v RESTful API sú GET, POST, PUT, PATCH a DELETE. Používajú sa na vykonávanie rôznych operácií nad prostriedkami.

Metóda Účel Idempotentnosť Bezpečnosť Príklad použitia
GET Získať údaje o prostriedku. Áno Áno Zobraziť informácie o používateľovi.
POST Vytvoriť nový prostriedok alebo odoslať údaje na spracovanie. Nie Nie Registrácia nového používateľa.
PUT Kompletná aktualizácia existujúceho prostriedku. Áno Nie Aktualizovať všetky údaje o používateľovi.
PATCH Čiastočná aktualizácia existujúceho prostriedku. Nie Nie Aktualizovať iba email používateľa.
DELETE Vymazať prostriedok. Áno Nie Vymazať účet používateľa.

Dôležité rozdiely:

  • GET a DELETE sú idempotentné (viacnásobné vykonanie požiadavky dá rovnaký výsledok ako jedno), zatiaľ čo POST a PATCH nie sú. PUT je tiež idempotentný.
  • GET je bezpečný (nemení stav prostriedku), na rozdiel od ostatných metód.
  • PUT je určený na úplnú náhradu prostriedku, zatiaľ čo PATCH na čiastočnú aktualizáciu.

Napríklad, pre prácu s prostriedkom "používateľ" (/users/{id}):

  • GET /users/123 - získať informácie o používateľovi s ID 123.
  • POST /users - vytvoriť nového používateľa (údaje v tele požiadavky).
  • PUT /users/123 - úplne aktualizovať údaje o používateľovi 123 (údaje v tele požiadavky).
  • PATCH /users/123 - čiastočne aktualizovať údaje o používateľovi 123 (napríklad iba pole email, údaje v tele požiadavky).
  • DELETE /users/123 - odstrániť používateľa s ID 123.

Výber metódy závisí od typu operácie, ktorú je potrebné vykonať nad prostriedkom. Použitie správnych HTTP metód je kľúčom k vytvoreniu zrozumiteľných a predvídateľných RESTful API.