Junior — Middle
Explica diferențele dintre metodele HTTP PUT și PATCH atunci când actualizezi resursele.
sobes.tech AI
Răspuns de la AI
Principalele diferențe dintre metodele HTTP PUT și PATCH la actualizarea resurselor:
- PUT — este utilizat pentru o actualizare completă a resursei. Clientul trimite o reprezentare completă a resursei, iar serverul înlocuiește resursa existentă cu aceasta.
- PATCH — este utilizat pentru o actualizare parțială a resursei. Clientul trimite doar câmpurile care trebuie modificate, iar serverul actualizează doar acele câmpuri, lăsând celelalte neschimbate.
Exemplu:
Dacă aveți un obiect de utilizator cu câmpurile name și email:
- Cu o cerere PUT, trebuie să trimiteți ambele câmpuri, altfel cele lipsă vor fi șterse sau resetate.
- Cu o cerere PATCH, puteți trimite doar
email, iar serverul va actualiza doar acel câmp.
În C# Web API, metodele pot arăta astfel:
[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
// Actualizare completă a utilizatorului
}
[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
// Actualizare parțială a utilizatorului
}
Astfel, PUT este o metodă idempotentă pentru înlocuirea completă, PATCH pentru modificări parțiale.