Junior — Middle
Expliquez les différences entre les méthodes HTTP PUT et PATCH lors de la mise à jour des ressources.
sobes.tech IA
Réponse de l'IA
Les principales différences entre les méthodes HTTP PUT et PATCH lors de la mise à jour des ressources :
- PUT — utilisé pour une mise à jour complète de la ressource. Le client envoie une représentation complète de la ressource, et le serveur remplace la ressource existante par cette nouvelle.
- PATCH — utilisé pour une mise à jour partielle de la ressource. Le client envoie uniquement les champs à modifier, et le serveur ne met à jour que ceux-ci, laissant les autres inchangés.
Exemple :
Si vous avez un objet utilisateur avec les champs name et email :
- Avec une requête PUT, vous devez envoyer les deux champs, sinon ceux non envoyés seront supprimés ou réinitialisés.
- Avec une requête PATCH, vous pouvez envoyer uniquement
email, et le serveur ne le mettra à jour que celui-ci.
En C# Web API, les méthodes peuvent ressembler à ceci :
[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
// Mise à jour complète de l'utilisateur
}
[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
// Mise à jour partielle de l'utilisateur
}
Ainsi, PUT est une méthode idempotente pour un remplacement complet, PATCH pour des modifications partielles.