Junior
Parlez-nous de la méthode PUT dans l'API REST.
sobes.tech IA
Réponse de l'IA
La méthode PUT est utilisée pour créer ou mettre à jour une ressource à l'URI spécifié.
Caractéristiques clés:
- Idempotence: La répétition de la même requête PUT avec le même corps conduira au même état de la ressource sur le serveur (bien que la réponse du serveur puisse varier).
- Remplacement complet: La requête PUT envoie une représentation complète de la ressource, remplaçant l'existante.
- Création ou mise à jour: Si la ressource à l'URI spécifié n'existe pas, PUT la crée. Si elle existe, elle la met à jour. L'absence de ressource lors d'une requête PUT réussie conduit généralement à la création, qui retourne généralement le statut 201 Created. La mise à jour d'une ressource existante retourne généralement 200 OK ou 204 No Content (si aucune corps n'est renvoyé).
Scénarios d'utilisation typiques:
- Mise à jour du profil complet de l'utilisateur.
- Création d'une ressource si le client définit son URI.
Exemple de requête PUT:
PUT /users/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json
{
"id": 123,
"name": "Nouveau Nom",
"email": "new.email@example.com"
}
Le serveur recevra cette requête et créera un utilisateur avec id=123 ou remplacera complètement les informations de l'utilisateur avec cet ID par les données du corps de la requête.
PUT diffère de POST en ce qui suit:
- PUT est utilisé pour mettre à jour ou créer une ressource à une URI connue, que le client définit. POST est utilisé pour créer une ressource, où le serveur définit l'URI de la nouvelle ressource, ou pour d'autres actions qui ne rentrent pas dans d'autres méthodes HTTP.
- PUT est idempotent, POST ne l'est pas. Les requêtes POST répétées avec le même corps peuvent créer plusieurs ressources identiques ou provoquer des effets secondaires différents.
Tableau comparatif de PUT et POST:
| Caractéristique | PUT | POST |
|---|---|---|
| Objectif | Créer ou mettre à jour une ressource | Créer une ressource, envoyer des données |
| Idempotence | Oui | Non |
| Définition de l'URI | Par le client | Par le serveur |
| Impact sur la ressource | Remplace ou crée complètement | Ajoute généralement ou effectue une action |