请求作为集合一部分的对象的首选REST URL模式是什么?

时间:2011-12-06 11:10:52

标签: rest backbone.js

我们有REST API,其中包含一系列频道。在请求频道时,我应该使用频道收集端点还是频道对象端点?

/channels/{id}/     // this?
/channel/{id}/      // or this?

我希望在骨干模型URL属性方面尽可能与backbone.js无缝协作。

3 个答案:

答案 0 :(得分:3)

大多数关于restful API的书都建议您使用单数作为终点。您可以从那里获得集合以及集合的单个实例上的操作。

通话:

 GET /channel -> List of channels
 GET /channel/{id} -> Gets a channel
 POST /channel -> Creates a new channel
 PUT /channel/{id} -> Updates an existing channel

等等。然而,对于Backbone,这没有任何区别,因为您可以根据需要自定义URL行为。

答案 1 :(得分:1)

最后的/不应该对偏好产生影响(对于用户来说太麻烦了!)虽然你可以选择使用单数或复数,但要在整个应用中保持一致和让个人成为集合中的孩子。将该集合视为个人目录。

答案 2 :(得分:1)

在某些时候,它只是偏好。有些人认为REST apis的定义应该总是复数。主要是我总是对/channel作为一个列表感到恼火,所以我自然会倾向于用复数/channels处理所有内容。这与他们在表格设计中告诉你的做法相反:将所有东西视为单一的。在一天结束时,只要保持一致将使许多使用您的api的人高兴。