【发布时间】:2013-05-03 11:18:41
【问题描述】:
REST api 的复数形式更自然,也更常用,例如/api/users 或 api/users/123。
但是对于某些资源是不自然的,例如:
-
/api/login- 只登录一个用户 -
/api/profile- 获取登录用户的个人资料
这些资源永远不会用于我的应用程序中的多个对象/模型。
另一方面,我了解到在资源名称中混合复数和单数形式并不是一种好的做法 (http://pages.apigee.com/web-api-design-ebook.html)。
所以我考虑怎么办:
- 全部使用单数
- 全部使用复数形式(使用一些愚蠢的形式,例如
/api/logins) - 几乎所有资源都使用复数形式并不一致,因此需要一些特殊资源,例如
/api/login或/api/profile,它们始终与一个对象/模型一起使用。
什么是更好的方法?
【问题讨论】:
-
我遵循与数据库表相同的规则:单数。这是产品表,而不是产品表。你得到一个产品或产品集。没有必要用你的名词来处理变格;你得到一个实体或一组实体。
标签: rest resources naming-conventions uri