Sobes.tech
Junior

Papaskinkite apie PUT metodą REST API.

sobes.tech AI

Atsakymas iš AI

PUT metodas naudojamas kurti arba atnaujinti išteklių nurodytu URI.

Pagrindinės savybės:

  • Idempotentiškumas: Pakartotinai vykdant tą pačią PUT užklausą su tuo pačiu turiniu, pasiekiamas tas pats išteklių būvis serveryje (nors serverio atsakymas gali skirtis).
  • Pilnas pakeitimas: PUT užklausa siunčia visiškai naują išteklio reprezentaciją, pakeisdama esamą.
  • Kūrimas arba atnaujinimas: Jei išteklis nurodytu URI neegzistuoja, PUT jį sukuria. Jei egzistuoja — atnaujina. Sėkmingas PUT užklausos metu išnyksta išteklis yra sukuriamas, dažniausiai grąžinant 201 Created statusą. Esamo ištekliaus atnaujinimas dažniausiai grąžina 200 OK arba 204 No Content (jei atsakyme nėra turinio).

Tipiniai naudojimo scenarijai:

  • Vartotojo pilno profilio atnaujinimas.
  • Išteklio kūrimas, jei klientas nurodo jo URI.

PUT užklausos pavyzdys:

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

{
  "id": 123,
  "name": "Naujas Vardas",
  "email": "new.email@example.com"
}

Serveris gaus šią užklausą ir arba sukurs vartotoją su id=123, arba visiškai pakeis naudotojo informaciją su šiuo ID duomenimis iš užklausos turinio.

PUT skiriasi nuo POST šiais būdais:

  • PUT naudojamas atnaujinti arba sukurti išteklių pagal žinomą URI, kurį nurodo klientas. POST naudojamas ištekliui sukurti, kai serveris nurodo naujo ištekliaus URI, arba kitoms operacijoms, kurios nepriklauso nuo kitų HTTP metodų.
  • PUT yra idempotentiškas, POST — ne. Pakartotinės POST užklausos su tuo pačiu turiniu gali sukurti kelis vienodus išteklius arba sukelti skirtingus šalutinius efektus.

Lyginamoji lentelė PUT ir POST:

Savybė PUT POST
Paskirtis Išteklio kūrimas arba atnaujinimas Išteklio kūrimas, duomenų siuntimas
Idempotentiškumas Taip Ne
URI nustatymas Kliento nurodymu Serverio nustatytas
Įtakos ištekliui Visapusiškai pakeičia arba sukuria Paprastai prideda arba vykdo veiksmą