Sobes.tech
Junior

Meséljen a PUT módszerről a REST API-ban.

sobes.tech MI

Válasz az MI-től

A PUT módszert arra használják, hogy egy erőforrást hozzon létre vagy frissítsen a megadott URI-n.

Fő jellemzők:

  • Idempotencia: Ugyanaz a PUT kérés ismételt végrehajtása ugyanazzal a testtel ugyanarra az erőforrásra a szerveren ugyanazt az állapotot eredményezi (bár a szerver válasza változhat).
  • Teljes helyettesítés: A PUT kérés egy teljes erőforrás-reprezentációt küld, amely helyettesíti a meglévőt.
  • Létrehozás vagy frissítés: Ha az erőforrás nem létezik a megadott URI-n, a PUT létrehozza. Ha létezik, frissíti. Sikeres PUT kérés esetén az erőforrás hiánya általában 201 Created státuszt eredményez. A meglévő erőforrás frissítése általában 200 OK vagy 204 No Content (ha nincs törzs).

Tipikus felhasználási forgatókönyvek:

  • A felhasználói profil teljes frissítése.
  • Erőforrás létrehozása, ha a kliens meghatározza az URI-t.

PUT kérés példája:

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

{
  "id": 123,
  "name": "Új Név",
  "email": "new.email@example.com"
}

A szerver megkapja ezt a kérést, és vagy létrehoz egy felhasználót az id=123 értékkel, vagy teljesen felülírja az adott ID-vel rendelkező felhasználó adatait a kérés törzsadataival.

A PUT különbözik a POST-tól a következők szerint:

  • A PUT-et arra használják, hogy egy ismert URI-n frissítsenek vagy hozzanak létre erőforrást, amit a kliens határoz meg. A POST-ot arra, hogy erőforrást hozzanak létre, ahol a szerver határozza meg az új erőforrás URI-jét, vagy más műveletekre, amelyek nem illenek bele más HTTP-módszerekbe.
  • A PUT idempotens, a POST nem. Ismételt POST-kérések ugyanazzal a testtel több azonos erőforrást hozhatnak létre vagy különböző mellékhatásokat okozhatnak.

PUT és POST összehasonlító táblázat:

Jellemző PUT POST
Cél Erőforrás létrehozása vagy frissítése Erőforrás létrehozása, adatok küldése
Idempotencia Igen Nem
URI meghatározása A kliens által meghatározva A szerver által meghatározva
Hatás az erőforrásra Teljesen felülír vagy létrehoz Általában hozzáad vagy műveletet hajt végre