Sobes.tech
Senior

Mi a különbség a PUT és POST módszerek között? Hogyan viselkednek ugyanazon kérés újbóli küldésekor? Mit csinál a PATCH?

sobes.tech MI

Válasz az MI-től

A HTTP PUT és POST módszerek jelentése és viselkedése különböző:

  • PUT — idempotens módszer, amelyet az adott URL-en lévő erőforrás teljes frissítésére használnak. Ugyanazt a PUT kérést újra küldve nem változik az eredmény, mivel az erőforrás ugyanazzal az adatokkal lesz felülírva.

  • POST — nem idempotens módszer, általában új erőforrások létrehozására vagy műveletek végrehajtására használják. A POST kérés újra küldése duplikátumokat vagy az művelet ismétlését eredményezheti.

  • PATCH — az erőforrás részleges frissítésére szolgál, csak a módosított mezőket küldi. Ellentétben a PUT-tal, amely az egész erőforrást helyettesíti, a PATCH a meglévő objektumon alkalmazza a változtatásokat.

Példa:

PUT /users/123
{
  "name": "Иван",
  "age": 30
}

PATCH /users/123
{
  "age": 31
}

POST /users
{
  "name": "Иван",
  "age": 30
}

Ugyanazzal az adatokkal a PUT újra küldése nem változtatja meg az erőforrást, a POST új felhasználót hoz létre, a PATCH pedig újra frissíti a kort.