代码之家  ›  专栏  ›  技术社区  ›  LiorH

如何在REST中实现资源的复制粘贴?

  •  3
  • LiorH  · 技术社区  · 15 年前

    http://mydomain.com/rest/book-stores/1
    http://mydomain.com/rest/book-stores/1/books/12
    

    我需要客户端能够调用将一本书复制粘贴到另一家商店。

    PUT http://mydomain.com/rest/books/1/copy-paste
    

    看起来很像。您对如何以RESTful方式对该操作建模有何建议?

    3 回复  |  直到 15 年前
        1
  •  9
  •   Paul Morgan    15 年前
        2
  •  1
  •   alex alex    15 年前

    这只是一个问题,如果您的资源被组织成模仿一个分层系统。就像一个文件系统。

    我更喜欢非等级资源。文件的“路径”只是文件的一个属性。要复制粘贴,有两个选项。

    1. 如果确实只需要另一个“path”引用,请为“path”属性添加另一个条目。两个文件夹中的文件完全相同。

    2. 要移动,只需更改“路径”属性。

    如果您必须坚持分层,只需模仿文件系统复制、粘贴和移动的方式即可。

    复印件很容易。要复制的资源的GET。

    粘贴一篇文章,因为您正在创建一个新的资源,一个新的URI。

    如果需要移动,可能需要删除旧资源。

    如果需要,可以在删除请求中指定一个位置,允许服务器重定向用户在其旧位置查找移动的资源。

        3
  •  0
  •   Adam Haile    15 年前

    我将使用它,以便用户执行PUT命令来执行操作。

    因此,表单数据中的变量包含要执行的正确操作。