Question

J'implémente la prise en charge de DELETE sur une API ReST (construite sur ServiceStack) et je me demande quel code de réponse renvoyer après une DELETE réussie.

HTTP définit 410 comme :

La ressource demandée n'est plus disponible sur le serveur et aucune adresse de transfert n'est connue.Cette condition devrait être considérée comme permanente.Les clients dotés de capacités d'édition de liens DEVRAIENT supprimer les références au Request-URI après l'approbation de l'utilisateur.Si le serveur ne sait pas, ou n'a pas la possibilité de déterminer, si la condition est permanente ou non, le code d'état 404 (Not Found) DEVRAIT être utilisé à la place.Cette réponse peut être mise en cache, sauf indication contraire.

Maintenant, si une ressource vient d'être DELETEd, je souhaite probablement que bon nombre de ces recommandations s'appliquent...mais la pratique acceptée semble renvoyer une 200 OK suite à un succès DELETE - surtout depuis le 4XX la plage est censée indiquer les conditions d’erreur.

Y a-t-il des arguments convaincants d'une manière ou d'une autre au-delà des directives de la spécification HTTP ?

Était-ce utile?

La solution

RFC2616, article 9.7 indique spécifiquement ce qui suit concernant la réponse à DELETE:

Une réponse réussie doit être de 200 (ok) si la réponse comprend une entité décrivant le statut, 202 (accepté) si l'action n'a pas encore été promulguée, ou 204 (pas de contenu) si l'action a été promulguée mais que la réponse ne comprend pas une entité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top