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.