Care este diferența dintre metodele PUT și POST? Cum se comportă atunci când trimiteți aceeași solicitare din nou? Ce face PATCH?
sobes.tech AI
Răspuns de la AI
Metodele HTTP PUT și POST diferă în semantică și comportament:
-
PUT — metodă idempotentă, utilizată pentru actualizarea completă a unei resurse la URL-ul specificat. Re-trimiterea aceleiași cereri PUT nu va schimba rezultatul, deoarece resursa va fi rescrisă cu aceleași date.
-
POST — metodă ne-idempotentă, de obicei utilizată pentru crearea de resurse noi sau pentru executarea de acțiuni. Re-trimiterea cererii POST poate duce la duplicare sau la repetarea operației.
-
PATCH — utilizată pentru actualizări parțiale ale resursei, trimițând doar câmpurile modificate. Spre deosebire de PUT, care înlocuiește întreaga resursă, PATCH aplică modificări obiectului existent.
Exemplu:
PUT /users/123
{
"name": "Иван",
"age": 30
}
PATCH /users/123
{
"age": 31
}
POST /users
{
"name": "Иван",
"age": 30
}
Retrimiterea PUT cu aceleași date nu va schimba resursa, retrimiterea POST va crea un utilizator nou, iar retrimiterea PATCH va actualiza vârsta din nou.