适当的RESTful API方法来修改记录的一个字段?

时间:2012-06-12 22:22:30

标签: api rest

假设我的RESTful API处理文件和文件夹。有了它,我可以创建和编辑文件和文件夹。

文件可以属于文件夹。所以我想说我想将文件移动到另一个文件夹。根据规格和/或最常见的情况,哪种情况最合适?

  1. POST到/ file /:id,发送新文件夹的id,更改值 仅对于folder_id,保持所有其他属性不变。 API 方法只更新folder_id。
  2. POST到/ file /:id / location,发送 新文件夹的ID。

1 个答案:

答案 0 :(得分:0)

这不是一个简单的答案,但我想我会问自己的问题是:移动文件操作是否应该更适合文件资源或文件夹资源来处理。在得到问题的答案之前,我不会过多担心URI结构。

移动行动涉及三种资源;文件,原始文件夹和目标文件夹。客户端至少需要知道文件URI&目标文件夹URI,因为可以推断出原始文件夹。我可以看到两种方法都有案例。文件资源表示(POST的内容)可以指示新的目标文件夹作为值,如果不需要移动则假定该值为空。文件夹资源可以假定POST中包含的文件表示意味着将该文件移动到该文件夹​​。无论哪种方法对您的业务流程最有意义,我都会选择。