Sobes.tech
Junior — Middle

El tudná magyarázni a HTTP PUT és PATCH módszerek közötti különbségeket a REST API kontextusában?

sobes.tech MI

Válasz az MI-től

A HTTP PUT és PATCH módszerek erőforrások frissítésére szolgálnak a REST API-ban, de különböznek szemantikájukban és viselkedésükben:

  • PUT — egy idempotens módszer, amely az egész erőforrást felülírja a szerveren az új reprezentációval, amit a kérés törzsében küldünk. Ha az erőforrás nem létezik, létrehozható. Ismételt kérések ugyanazzal az adathalmazzal ugyanazt az eredményt adják.

  • PATCH — részleges erőforrás-frissítésre szolgál. Csak azok a mezők kerülnek a kérés törzsében, amelyeket módosítani kell, a többi változatlan marad. A PATCH nem feltétlenül idempotens, de lehet.

Példa:

PUT /users/123
{
  "name": "Иван",
  "email": "ivan@example.com"
}

Felülírja a 123-as felhasználó teljes erőforrását egy új objektummal, amely tartalmazza a nevet és az emailt.

PATCH /users/123
{
  "email": "newemail@example.com"
}

Csak az email mezőt frissíti, a név változatlan marad.