您应该在URL中使用复数或单数形式的文件夹名称

时间:2012-02-02 03:25:53

标签: web-services api http url rest

示例1:

http://www.example.com/image/logo.png
http://www.example.com/images/logo.png

示例2:

http://www.example.com/user/johndoe
http://www.example.com/users/johndoe

特别是如果您将Url用作REST API。 (例2)

推荐哪一个,为什么?

2 个答案:

答案 0 :(得分:4)

对于REST,我主要使用复数形式来指示资源的路径。但是你还必须采用Cacheablility,Change of Change和Resource的可变性。就我而言,资源的集合主要是这种情况,所以我使用了复数形式。

原因是例如:

http://www.example.com/users/johndoe

将提供URI以获取属于您的用户集合的用户johndoe。

http://www.example.com/users

将用作获取所有用户的URI,并且可以轻松地在查询网址上使用,如:

http://www.example.com/users?limit=5

创建新用户仍将使用相同的网址,然后使用POST&传递参数:

http://www.example.com/users

对于refs,您可能需要查看Oreilly书籍RESTful Web Services Cookbook

答案 1 :(得分:1)

我个人的偏好是为单个和多个资源使用不同的网址。

http://www.example.com/users说我想要所有用途。您可以附加查询参数以过滤结果。

相反  http://www.example.com/user/johndoe - 明确声明我想要一个id为johndoe的用户。

优点: 1.期望不能正确设置。 2. /没有结果的用户可以返回201而不是404 3. / user /可以返回401,这是错误状态。