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.