【发布时间】:2012-05-05 08:12:01
【问题描述】:
我正在为 Intranet 应用程序设计基于 HTTP 的 API。我意识到这在总体方案中是一个很小的问题,但是:我应该使用连字符、下划线还是驼峰式来分隔 URI 中的单词?
这是我最初的想法:
驼峰式
- 如果服务器不区分大小写可能会出现问题
- 似乎在查询字符串键 (http://api.example.com?**searchQuery**=...) 中有相当广泛的使用,但在其他 URI 部分没有
连字符
- 比其他替代品更美观
- 似乎被广泛用于 URI 的路径部分
- 在野外从未见过带连字符的查询字符串键
- 可能更适合 SEO(这可能是一个神话)
下划线
- 编程语言可能更容易处理
- 一些流行的 API(Facebook、Netflix、
StackExchange等)在 URI 的所有部分都使用下划线。
我倾向于在所有内容中使用下划线。大多数大玩家都在使用它们这一事实令人信服(参见https://stackoverflow.com/a/608458/360570)。
【问题讨论】:
-
从我读过的所有内容来看,您应该使用连字符,但下划线 似乎 更易于管理。
-
我相信 连字符 曾一度更适合 SEO。现在这可能不是真的,但是有很多人采用它,因此它被更广泛地接受为最佳实践。另一方面,下划线在后端编程中可能更容易处理。我使用 PHP,因此在函数名中使用下划线比使用连字符要容易得多。 camelCase 可能是最容易实现的,但阅读起来往往很困难。最后,我认为你说你从未见过
hyphenated query string in the wild是对的。这通常是 camelCase 的时间。 -
根据这个问题,下划线不是一个有效的选项:stackoverflow.com/questions/3641722/…
-
你提到了流行的API,我想补充一个:谷歌。据我所见,谷歌在单词之间根本没有使用任何东西(例如,查看谷歌地图距离矩阵 API)。
标签: rest url uri restful-url