为什么资源路由路由 URI 必须 使用复数形式?

必须使用复数有没有一个具体的理由或原因,或者使用单数会引起什么问题?
说 get /photos 要使用复数还可以理解,它定位的资源是多个photo
但这种理解方式放到 get /photos/{photo} 获取的是单个photo的情景似乎就有点说不通

虽然知道这不是一个什么重要的问题,但只是有这样的小困惑

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。

来源:http://www.ruanyifeng.com/blog/2014/05/res...

5年前 评论
讨论数量: 4

在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。

来源:http://www.ruanyifeng.com/blog/2014/05/res...

5年前 评论
jltxwesley

REST Convention,你这样理解:

get /photos/{photo}:从所有的图片中查询一个图片。

post /photos:添加新的图片到已有图片集中。

或者你把 photos 想像成文件夹,里面存储了若干文件,你比较下: get /photos/{photo}get /photo/{photo}

5年前 评论

在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。

来源:http://www.ruanyifeng.com/blog/2014/05/res...

5年前 评论
jltxwesley

REST Convention,你这样理解:

get /photos/{photo}:从所有的图片中查询一个图片。

post /photos:添加新的图片到已有图片集中。

或者你把 photos 想像成文件夹,里面存储了若干文件,你比较下: get /photos/{photo}get /photo/{photo}

5年前 评论

路由的命名是遵循的 RESTfull 设计风格。

5年前 评论

@jxlwqq
@jltxwesley
谢了谢了 确实这样理解很OK 很准确 :+1:

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!