104 votes

Quel code de réponse HTTP pour "Cet e-mail est déjà enregistré" ?

Je crée une API RESTful pour créer des utilisateurs qui appliquent des adresses e-mail uniques :

POST /users réussi : HTTP 201 Created

Si je POST la même adresse e-mail, quel devrait être le code de réponse ? 409 Conflict le code de réponse approprié ?

30voto

Bart Points 2804

Bien que la réponse acceptée soit correcte en affichant le code d'état correct pour la tâche, je souhaite ajouter que vous introduisez une vulnérabilité de sécurité.

Si vous retournez un 409 pour l'enregistrement du compte, vous exposez simplement un service pour l'énumération des comptes.

Dépend de l'application, si l'API est publique ou non, etc., vous voudrez peut-être renvoyer un 201 même si le compte n'a pas été créé.

3voto

Gareth Points 42402

J'utilise souvent (extension WebDAV) HTTP 422 Unprocessable Entity :

La requête était bien formée mais n'a pas pu être suivie en raison d'erreurs sémantiques

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X