Jos*_*son 428 api rest url uri restful-url
我正在为Intranet应用程序设计基于HTTP的API.我意识到这是一个非常小的问题,在宏观方案中,但是:我应该使用连字符,下划线或camelCase来分隔URI中的单词吗?
以下是我最初的想法:
骆驼香烟盒
连字符号
下划线
对于一切我都倾向于下划线.大多数大型玩家使用它们的事实令人信服(参见/sf/answers/42592091/).
Nei*_*gan 424
您应该在可爬网Web应用程序URL中使用连字符.为什么?因为连字符分隔单词(以便搜索引擎可以索引单个单词),并且不是单词字符.下划线是一个单词字符,这意味着它应该被视为单词的一部分.
在Chrome中双击此项:camelCase在Chrome中
双击此项:under_score
在Chrome中双击此项:连字符
看看Chrome(我听说谷歌也是一个搜索引擎)只认为其中一个是两个字?
camelCase
并且underscore
还要求用户使用shift密钥,而hyphenated
不是.
因此,如果您应该在可爬网Web应用程序中使用连字符,为什么还要在Intranet应用程序中执行不同的操作呢?少记一点.
Al *_*art 183
REST API的标准最佳实践是使用连字符,而不是camelcase或下划线.
这来自Oreilly的Mark Masse的"REST API设计规则手册".
另外,请注意Stack Overflow本身在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
Nic*_*nks 27
虽然我推荐使用连字符,但我还会假设一个不在你名单上的答案:
什么都没有
/quotationrequests/
,/purchaseorders/
依此类推.?q=foo+bar
cde*_*zaq 18
一般来说,它不会有足够的影响担心,特别是因为它是一个内部网应用程序而不是一般用途的互联网应用程序.特别是,由于它是内联网,SEO不是一个问题,因为搜索引擎不应该访问您的内部网.(如果是,它不是内联网应用程序).
任何值得它盐的框架要么已经有了默认的方法来做到这一点,要么很容易改变它处理多字URL组件的方式,所以我不会太担心它.
也就是说,这是我看到各种选项的方式:
连字符号
下划线
骆驼香烟盒
/
相反地分开.如果您发现您的URL组件长度超过2个"单词",那么您应该尝试为该概念找到更好的名称.Sor*_*ter 17
简答:
长答案:
URL 的目的是什么?
如果指向一个地址就是答案,那么缩短的 URL 也做得很好。如果我们不让它易于阅读和维护,它将对开发人员和维护人员都没有帮助。它们代表服务器上的一个实体,因此它们必须按逻辑命名。
考虑在 URL 中使用标点符号。URL http://www.example.com/green-dress.html对我们来说比http://www.example.com/greendress.html有用得多。我们建议您在 URL 中使用连字符 (-) 而不是下划线 (_)。
来自编程背景,camelCase 是命名联合词的流行选择。
但是RFC 3986将 URL 定义为对 URL 的不同部分区分大小写。由于 URL 区分大小写,保持低调(小写)总是安全的,被认为是一个很好的标准。现在,从窗口取出一个骆驼箱。
来源:https : //metamug.com/article/rest-api-naming-best-practices.html#word-delimiters
小智 7
推荐使用spine-case(RFC3986中重点强调的),Google、PayPal等大公司都使用这个案例。
来源:- https://blog.restcase.com/5-basic-rest-api-design-guidelines/
编辑:虽然 RFC 上的亮点无处可寻,但关于脊柱案例的建议仍然有效(正如其他答案中已经指出的那样)
归档时间: |
|
查看次数: |
144682 次 |
最近记录: |