Sobes.tech
Senior

Koja je razlika između metoda PUT i POST? Kako se ponašaju pri ponovnom slanju istog zahteva? Šta radi PATCH?

sobes.tech АИ

Одговор од АИ

HTTP PUT и POST metode se razlikuju po semantici i ponašanju:

  • PUT — idempotentna metoda, koristi se za potpuno ažuriranje resursa na datom URL-u. Ponovno slanje iste PUT zahteva neće promeniti rezultat, jer će resurs biti prepisan istim podacima.

  • POST — neidempotentna metoda, obično se koristi za kreiranje novih resursa ili izvršavanje akcija. Ponovno slanje POST zahteva može dovesti do duplikata ili ponovnog izvršenja operacije.

  • PATCH — koristi se za delimično ažuriranje resursa, šaljući samo izmenjena polja. Za razliku od PUT, koji zamenjuje ceo resurs, PATCH primenjuje izmene na postojećem objektu.

Primer:

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

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

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

Ponovno slanje PUT sa istim podacima neće promeniti resurs, ponovno slanje POST će kreirati novog korisnika, a ponovno slanje PATCH će ponovo ažurirati starost.