Mis vahe on PUT ja POST meetoditel? Kuidas nad käituvad, kui sama päringut saadetakse uuesti? Mida teeb PATCH?
sobes.tech AI
Vastus AI-lt
HTTP PUT ja POST meetodid erinevad semantika ja käitumise poolest:
-
PUT — idempotentne meetod, mida kasutatakse ressursi täielikuks uuendamiseks määratud URL-i juures. Sama PUT-päringu uuesti saatmine ei muuda tulemust, kuna ressurss kirjutatakse üle sama andmetega.
-
POST — mitte-idempotentne meetod, mida tavaliselt kasutatakse uute ressursside loomisel või toimingute teostamisel. POST-päringu uuesti saatmine võib põhjustada duplikaate või operatsiooni kordamist.
-
PATCH — kasutatakse ressursi osaliseks uuendamiseks, saates ainult muudetud väljad. Erinevalt PUT-ist, mis asendab kogu ressursi, rakendab PATCH olemasolevale objektile muudatusi.
Näide:
PUT /users/123
{
"name": "Иван",
"age": 30
}
PATCH /users/123
{
"age": 31
}
POST /users
{
"name": "Иван",
"age": 30
}
Sama andmete saatmine PUT-iga ei muuda ressurssi, POST uuesti saatmine loob uue kasutaja, ja PATCH uuesti uuendab vanust.