我正在为一个内部网络应用程序设计一个基于http的API。我意识到这是一个非常小的问题,但是:我应该使用连字符、下划线或骆驼号来分隔uri中的单词吗?
以下是我最初的想法:
camelCase
如果服务器不区分大小写,可能会出现问题
似乎在查询字符串键(http://api.example.com?**searchQuery**=…)中有相当广泛的使用,但在其他URI部分中没有
连字符
比其他选择更具美感
似乎在URI的路径部分被广泛使用
从来没有见过连字符的查询字符串键在野外
可能对搜索引擎优化更好(这可能是一个神话)
下划线
编程语言可能更容易处理
一些流行的api (Facebook, Netflix, StackExchange等)在URI的所有部分都使用下划线。
我倾向于用下划线表示所有内容。事实上,大多数大公司都在使用它们(见https://stackoverflow.com/a/608458/360570)。
简短的回答:
用连字符作为分隔符的小写单词
长一点的回答:
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