POST, GET /accounts
PUT, DELETE /accounts/{name} or /accounts/{id}
现在一个文档已经附加到了特定的用户,无论它是公共的还是完全不公开并不重要。
两种方法是:POST /documents vs POST /users/documents
为什么?因为当一个文档资源被创建时,该文档就处于用户的控制之下。因此,我希望有以下操作:
GET, PUT, DELETE /users/{name}/documents 来获取、更改和删除用户拥有的一堆文档。
我可以使用 GET, PUT, DELETE /users/{name}/documents/{name/id}。
但是,同样的结果也可以通过/documents/{users}/...或/documents/{id}来实现。这类似于如何组织Unix文件(虽然/users/...也是另一种组织文件的方式...)。你看,还有一种URI与URL设计的哲学。
另一个考虑因素是API是否对用户可见。如果这只是一个后端API,只有开发者可以访问(后端<-前端服务器<-前端AJAX),那么一个网站用户可能会更喜欢/users/{name}/documents/{id/name},而一些程序员则会因为API是公共的(如Twitter API)而不喜欢这个长URL。
大家对这些问题有什么看法呢?