La suppression d'une ressource à l'aide de http SUPPRIMER
Donc, étant donné que la SUPPRESSION des verbes en Http est la quantité, lorsque j'ai problème de la demande, ce qui devrait arriver la deuxième (ou troisième, ou quatrième, etc...)?
DELETE /person/123
La première fois, la ressource est supprimée et je retourne a 204 (bon, pas le contenu). Dois-je retourner un 204 lors des appels ultérieurs ou une erreur 404 (page non trouvée)?
Vous devez vous connecter pour publier un commentaire.
Que les requêtes HTTP dans un apatride système doit être indépendant, les résultats d'une requête ne devrait pas être tributaire d'une demande antérieure. Envisager ce qui se passerait si deux utilisateurs ont fait un DELETE sur la même ressource simultanément. Il fait sens pour la deuxième demande pour obtenir un 404. La même chose devrait être vraie si un utilisateur fait deux demandes.
Je suppose que le fait d'avoir SUPPRIMER retour deux réponses différentes ne se sent pas équipotent à vous. Je trouve qu'il est utile de penser à la quantité de demandes que de laisser le système dans le même état, pas nécessairement avoir la même réponse. Donc, indépendamment de savoir si vous SUPPRIMEZ une ressource existante, ou d'une tentative de SUPPRESSION d'une ressource qui n'existe pas, le serveur de ressources de l'état est le même.
rm
.rm
renvoie une erreur si elle n'existe pas. tools.ietf.org/html/rfc7231#section-4.3.5Les services web RESTful livre de cuisine est une grande ressource pour le présent. Par chance, son google preview afficher la page sur SUPPRIMER (page 11):
D'abord SUPPRIMER: 200 ou 204.
Ultérieure Supprime: 200 ou 204.
Justification: SUPPRIMER doit être idempotent. Si vous retournez 404 sur un deuxième SUPPRIMER, votre réponse est en train de changer à partir d'un code de réussite à un code d'erreur. Le programme client peut prendre incorrect des actions basées sur l'hypothèse de la SUPPRESSION a échoué.
Exemple: