La clé est de savoir si vous êtes en train de faire un idempotent un changement ou pas. C'est, si les mesures à prendre concernant le message deux fois en résulte "de la même" chose être là, comme si elle était seulement fait une fois, vous avez un idempotent changer et qu'il doit être mappé à METTRE. Si non, elle correspond à la POSTE. Si vous ne jamais permettre au client de synthétiser les Url, est assez proche de la mise à Jour et après peut gérer de Créer très bien, mais ce n'est certainement pas la seule façon de le faire; si le client sait qu'il veut créer /foo/abc
et qui sait ce contenu à y mettre, il fonctionne très bien comme un PUT.
La description canonique d'un POST, c'est quand vous avez commis à l'achat de quelque chose: c'est une action qui personne ne veut répéter sans le savoir. Par contraste, réglage de l'adresse d'expédition de la commande à l'avance peut être fait avec MIS à l'amende juste: il n'a pas d'importance si l'on vous dit d'envoyer à l' 6 Anywhere Dr, Nowhereville
, une fois, deux fois ou cent fois: c'est toujours la même adresse. Est-ce à dire que c'est une mise à jour? Pourrait être... tout dépend de comment vous voulez écrire le back-end. (À noter que les résultats pourraient ne pas être identiques: vous pouvez les signaler à l'utilisateur lors de leur dernière n'a MIS qu'une partie de la représentation de la ressource, ce qui permettrait de s'assurer que répété ne Met pas en cause un résultat identique, mais le résultat serait toujours le "même" dans un sens fonctionnel.)