Quel code d'état dois-je définir pour UPDATE
( PUT
) et DELETE
(par exemple, le produit a été mis à jour avec succès) ?
Réponses
Trop de publicités?Pour un PUT demande : HTTP 200 ou HTTP 204 devrait impliquer "ressource mise à jour avec succès".
Pour un DELETE demande : HTTP 200 ou HTTP 204 devrait impliquer "ressource supprimée avec succès". HTTP 202 peut également être renvoyé, ce qui impliquerait que l'instruction a été acceptée par le serveur et que la "ressource a été marquée pour être supprimée".
9.6 PUT
Si une ressource existante est modifiée, les codes de réponse 200 (OK) ou 204 (No Content) > DEVRAIENT être envoyés pour indiquer que la demande a abouti.
9.7 SUPPRESSION
Une réponse réussie DEVRAIT être 200 (OK) si la réponse comprend une entité décrivant l'état, 202 (Accepté) si l'action n'a pas encore été mise en œuvre, ou 204 (Pas de contenu) si l'action a été mise en œuvre mais que la réponse ne comprend pas d'entité.
Source : w3.org : Définitions des méthodes HTTP/1.1
HTTP 200 OK : Réponse standard pour les demandes HTTP réussies. La réponse réelle dépendra de la méthode de demande utilisée.
HTTP 204 Pas de contenu : Le serveur a traité la demande avec succès, mais ne renvoie aucun contenu.
Quelques conseils :
DELETE
-
200 (si vous voulez envoyer des données supplémentaires dans la réponse) ou 204 (recommandé).
-
202 L'opération supprimée n'a pas encore été engagée.
-
S'il n'y a rien à supprimer, utilisez 204 ou 404 (l'opération DELETE est idempotente, supprimer un élément déjà supprimé est opération réussie pour que vous puissiez retourner 204 mais il est vrai que idempotent n'implique pas nécessairement la réponse)
Autres erreurs :
- 400 Mauvaise demande (Une syntaxe malformée ou une mauvaise requête est étrange mais possible).
- 401 Non autorisé
- 403 Interdit : Échec de l'authentification ou ID d'application invalide.
- 405 Non autorisé . Bien sûr.
- 409 Conflit de ressources peut être possible dans des systèmes complexes.
- Et 501 , 502 en cas d'erreur.
PUT
Si vous mettez à jour un élément d'une collection
- 200/204 avec les mêmes raisons que DELETE ci-dessus.
- 202 si l'opération n'a pas encore été validée.
L'élément référencé n'existe pas :
-
PUT peut être 201 (si vous avez créé l'élément parce que c'est votre comportement)
-
404 Si vous ne voulez pas créer des éléments via PUT.
-
400 Mauvaise demande (Une syntaxe malformée ou une mauvaise requête sont plus fréquentes que dans le cas de DELETE).
-
401 Non autorisé
-
403 Interdit : Échec de l'authentification ou ID d'application invalide.
-
405 Non autorisé . Bien sûr.
-
409 Conflit de ressources peut être possible dans des systèmes complexes, comme dans DELETE.
-
Et 501 , 502 en cas d'erreur.
La RFC 2616 décrit les codes d'état à utiliser .
Et non, c'est pas toujours 200.
En plus de 200 et 204, 205 (Réinitialisation du contenu) pourrait être une réponse valable.
Le serveur a satisfait à la demande et l'agent utilisateur DEVRAIT réinitialiser la vue du document qui a provoqué l'envoi de la demande ... en effaçant la forme dans laquelle l'entrée est donnée.