假设我有一个url如下,例如
我的问题是,对于2. http://www.company.com/categories/car
,如果我使用复数形式会更好吗?
e.g。
http://www.company.com/categories/cars
答案 0 :(得分:4)
如果您使用复数资源,这是正确的。但是,如果你使用这样的网址,它就不会被称为Restful:
http://www.company.com/categories/cars
因为汽车是类别的子资源......所以为了更好,我建议您将汽车资源作为特定类别的子资源公开:
http://www.company.com/categories/123/cars #get all cars under category which id = 123
答案 1 :(得分:2)
要使 2。更多的RESTful模式,您将发出GET
请求以检索汽车列表。
在这种情况下,使用复数是有意义的:
http://www.company.com/categories/cars
留下了用特定(单数)汽车记录扩展它的可能性:
http://www.company.com/categories/cars/ferrari
答案 2 :(得分:0)
完全取决于您和您的申请。如果您有许多REST服务,您也可以使用carList而不是汽车或汽车。这是有道理的,减少了混乱。确保在所有REST URI中保持一致。
答案 3 :(得分:0)
将其视为Windows资源管理器目录。如果你在本地文件夹中组织汽车,法拉利会在哪里?
要考虑的另一件事是专门为PUT和POST请求设计URI,其中你有更多的名词和更少的动词。
答案 4 :(得分:0)
<强>复数即可。 url中的“cars”元素应反映类别的名称。根据我的经验,类别的名称通常是复数,因为它们标识了一组多个实体。例如:运输设备的类别是:汽车,飞机,自行车和滑板。
某物是汽车,属于“汽车”类别。
很好的例子是维基百科对集合类别的命名约定:
设置类别以类命名(通常为复数形式)。例如,“分类:法国城市”包含的主题是法国城市的文章。
https://en.wikipedia.org/wiki/Wikipedia:Set_category#Set_category
答案 5 :(得分:0)
一个类别包含很多项目。所以,是的。 汽车比汽车
更有意义http://www.company.com/categories/cars/mitsubishi/lancer (if you have more categories)
OR
http://www.company.com/categories/cars/lancer