Sobes.tech
Senior

Quelle est la différence entre les méthodes PUT et POST ? Comment se comportent-elles lors de la réenvoi d'une même requête ? Que fait PATCH ?

sobes.tech IA

Réponse de l'IA

Les méthodes HTTP PUT et POST diffèrent par leur sémantique et leur comportement:

  • PUT — méthode idempotente, utilisée pour une mise à jour complète d'une ressource à l'URL spécifiée. La resoumission de la même requête PUT ne changera pas le résultat, car la ressource sera écrasée avec les mêmes données.

  • POST — méthode non idempotente, généralement utilisée pour créer de nouvelles ressources ou effectuer des actions. La resubmission d'une requête POST peut entraîner la création de doublons ou la répétition de l'opération.

  • PATCH — utilisé pour une mise à jour partielle de la ressource, en envoyant uniquement les champs modifiés. Contrairement à PUT, qui remplace toute la ressource, PATCH applique des modifications à l'objet existant.

Exemple:

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

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

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

Renvoyer PUT avec les mêmes données ne changera pas la ressource, renvoyer POST créera un nouvel utilisateur, et renvoyer PATCH mettra à jour l'âge à nouveau.