Sobes.tech
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.