Qu'est-ce que le repos de façon à représenter une ressource opération de duplication dans l'URL?

J'ai API REST qui expose un grand complexe de ressources et je veux être en mesure de cloner cette ressource. Supposons que la ressource est exposée à /resources/{resoureId}

De cloner des ressources 10 je pouvais faire quelque chose comme.

  • GET /resources/10
  • POST /resources/ corps de contenant une copie de la représentation par GET /resources/10 sans l'id de sorte que le POST crée une nouvelle ressource.

Le problème avec cette approche est que la ressource est très vaste et complexe qu'elle ne fait pas vraiment de sens pour retourner une représentation complète au client et que le client renvoyer comme ça serait juste une perte totale de la bande passante, et de la cpu sur le serveur. Le clonage de la ressource sur le serveur est tellement plus facile si je veux le faire.

Je pourrais faire quelque chose comme POST /resources/10/clone ou POST resources/clone/10 mais ces deux approches se sentir mal parce que le verbe dans l'URL.

Ce qui est le plus "reposante/nouny" moyen de construire l'url qui peut être utilisé dans ce type de situation?

  • Honnêtement, je pense que c'est parfaitement ok pour juste ajouter /clone à la fin de l'url parce que "clone" est aussi un nom, et dans ce cas, la chose que vous êtes en train de créer.
InformationsquelleAutor ams | 2013-09-12