Web services 您应该在URL中使用文件夹名称的复数形式还是单数形式

Web services 您应该在URL中使用文件夹名称的复数形式还是单数形式,web-services,api,http,url,rest,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作为RESTAPI时。(例2) 推荐哪一种?为什么 对于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作为RESTAPI时。(例2)


推荐哪一种?为什么

对于REST,我主要使用复数形式来表示资源的路径。但您还必须考虑资源的可缓存性、更改频率和易变性。在我的例子中,资源的集合主要是这样,所以我使用了复数形式

原因是,例如:

http://www.example.com/users/johndoe
将提供URI以获取属于您的用户集合的用户johndoe

http://www.example.com/users
将用作获取所有用户的URI,并可轻松用于查询url,如:

http://www.example.com/users?limit=5
创建新用户仍将使用相同的URL,然后使用POST并传递参数:

http://www.example.com/users

对于参考文献,您可能想查看Oreilly book RESTful Web Services Cookbook

我个人的偏好是对单个和多个资源使用不同的url

说我想要所有的用途。不过,您可以附加查询参数以过滤结果

相反地 -明确声明我想要一个id为johndoe的用户

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

从语法上讲,我更喜欢复数形式:文件夹将包含多个这样的内容。我不明白为什么会有技术上的原因选择一个或其他选项,所以在像或这样的网站上问这个问题可能会更好。一种思考方法是文件夹不可能只包含一个图像,所以文件夹应该是多个的是有意义的。可能是重复的