连字符,下划线或camelCase作为URI中的单词分隔符?
我正在为Intranet应用程序设计一个基于HTTP的API。 我意识到这是事情的宏伟计划中一个非常小的问题,但是: 我应该使用连字符,下划线还是驼峰来分隔URI中的单词?
这是我最初的想法:
骆驼香烟盒
连字符号
下划线
我倾向于强调一切。 大多数大牌玩家都在使用它们的事实引人注目(请参阅https://stackoverflow.com/a/608458/360570)。
您应该在可抓取的Web应用程序URL中使用连字符。 为什么? 由于连字符分隔单词(以便搜索引擎可以索引单个单词),并且不是单词字符。 下划线是一个单词字符,这意味着它应该被视为单词的一部分。
在Chrome中双击此项:camelCase
在Chrome中双击此选项:under_score
在Chrome中双击此项:连字符
看看谷歌浏览器(我听说谷歌做搜索引擎)只认为其中之一是两个词?
camelCase
和underscore
也需要用户使用shift键,而hyphenated
不需要。
因此,如果您应该在可抓取的Web应用程序中使用连字符,为什么您会在Intranet应用程序中执行不同的操作? 还有一件事要记住。
REST API的标准最佳实践是使用连字符而不是驼峰或下划线。
这来自Oreilly的Mark Masse的“REST API设计规则”。
另外,请注意堆栈溢出本身在URL中使用连字符: .../hyphen-underscore-or-camelcase-as-word-delimiter-in-uris
和WordPress一样:http://inventwithpython.com/blog/2012/03/18/how-much-math-do-i-need-to-know-to-program-not-that-much -actually
虽然我建议使用连字符,但我还会假设一个不在列表中的答案:
一无所有
/quotationrequests/
, /purchaseorders/
等URI。 ?q=foo+bar
上一篇: Hyphen, underscore, or camelCase as word delimiter in URIs?