Les conséquences de la POSTE n'étant pas idempotent (API RESTful)

Je me demande si mon approche actuelle de sens ou si il ya une meilleure façon de le faire.

J'ai de multiples situations où je veux en créer de nouveaux objets et de laisser le serveur attribuer un ID à ces objets. Envoi d'une requête POST semble être la façon la plus appropriée de le faire.
Cependant, car le POST n'est pas idempotent la demande peut se perdre et de l'envoyer de nouveau, peut créer un second objet. Demande également à être perdu peut être tout à fait commun depuis l'API est souvent accessible via les réseaux mobiles.

Par conséquent, j'ai décidé de diviser le tout en un processus en deux étapes.
D'abord l'envoi d'une requête POST pour créer un nouvel objet qui retourne l'URI de l'objet dans l'Emplacement d'en-tête. Deuxièmement, l'exécution d'une idempotent METTRE de la demande à l'fournis Emplacement pour remplir le nouvel objet avec les données. Si un nouvel objet n'est pas remplie dans un délai de 24 heures, le serveur peut le supprimer grâce à une sorte de lot de travail.

Que c'est raisonnable ou est-il une meilleure approche?

Grâce

InformationsquelleAutor mibollma | 2012-12-21