我们有REST API,其中包含一系列频道。在请求频道时,我应该使用频道收集端点还是频道对象端点?
/channels/{id}/ // this?
/channel/{id}/ // or this?
我希望在骨干模型URL属性方面尽可能与backbone.js无缝协作。
答案 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的人高兴。