Sobes.tech
Junior

Povedzte nám o metóde PUT v REST API.

sobes.tech AI

Odpoveď od AI

Metóda PUT sa používa na vytvorenie alebo aktualizáciu zdroja na zadanom URI.

Kľúčové vlastnosti:

  • Idempotentnosť: Opakované vykonanie rovnakého PUT požiadavky s rovnakým telom povedie k rovnakému stave zdroja na serveri (hoci odpoveď od servera sa môže líšiť).
  • Kompletná náhrada: PUT požiadavka odosiela úplnú novú reprezentáciu zdroja, ktorá nahradí existujúcu.
  • Vytvorenie alebo aktualizácia: Ak zdroj na zadanom URI neexistuje, PUT ho vytvorí. Ak existuje — aktualizuje. Neexistencia zdroja pri úspešnom PUT požiadavke vedie k jeho vytvoreniu, čo zvyčajne vracia stav 201 Created. Aktualizácia existujúceho zdroja zvyčajne vracia 200 OK alebo 204 No Content (ak v odpovedi nie je telo).

Typické scenáre použitia:

  • Aktualizácia úplného profilu používateľa.
  • Vytvorenie zdroja, ak klient určí jeho URI.

Príklad PUT požiadavky:

PUT /users/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json

{
  "id": 123,
  "name": "Nové Meno",
  "email": "new.email@example.com"
}

Server obdrží túto požiadavku a buď vytvorí používateľa s id=123, alebo úplne nahradí informácie o používateľovi s týmto ID dátami z tela požiadavky.

PUT sa líši od POST nasledovne:

  • PUT sa používa na aktualizáciu alebo vytvorenie zdroja podľa známeho URI, ktoré určuje klient. POST sa používa na vytvorenie zdroja, kde server určuje URI nového zdroja, alebo na iné akcie, ktoré nespadajú pod iné HTTP metódy.
  • PUT je idempotentný, POST nie. Opakované POST požiadavky s rovnakým telom môžu vytvoriť niekoľko rovnakých zdrojov alebo spôsobiť rôzne vedľajšie efekty.

Porovnávacia tabuľka PUT a POST:

Charakteristika PUT POST
Účel Vytvorenie alebo aktualizácia zdroja Vytvorenie zdroja, odoslanie dát
Idempotentnosť Áno Nie
Určenie URI Klientom Serverom
Vplyv na zdroj Nahradí alebo úplne vytvorí Zvyčajne pridáva alebo spúšťa akciu