关于路径 url 的设计,是驼峰方式还是中划线方式用的多些

209 天前
 fumer

驼峰方式: api/getList

中划线: api/get-list

哪种方式使用的多些, 记得以前 seo 为王的年代,"-"中划线方式是不被推荐作为域名或者 path 的

现在 seo 已经淡出视野,不知道大家是怎么设计的

6386 次点击
所在节点    Java
53 条回复
fuyun
208 天前
难道不应该是 GET /api/posts 吗?为什么还要多此一举/api/get-posts ?
Ipsum
208 天前
Restful 应该不存在这个问题,都用 method 动词代替了。
auh
208 天前
/apis

get 是 http 方法。s 代表 list 。
iseki
208 天前
我更喜欢 M$ 的 API 风格指南,该指南推荐中划线。我猜想这可能和 HTTP 协议的整体风格有关。
spritecn
208 天前
这取决于用 java 还是用 python 吧,java 大家都写驼峰,python 都是蛇
zhyt1985
208 天前
url 里不能有动词啊,应该是/api/list
zhangdp
208 天前
restful ,不要 get ,就是/api/list 简单明了
julyclyde
208 天前
seo 为王的年底啊,大家都把 seo 当 sb 伺候?
SunnyIng
208 天前
看了一下大家说的,我比较认可的是
前端页面路径使用中划线 如 https://github.com/settings/security-log
后端的接口使用下划线 如 api/get_list
yjw06282
207 天前
用 next.js 怎么办. url 是目录自动生成的. 目录总要驼峰合适吧
jqknono
206 天前
@chendy vscode 中可以配置连字符,配完后双击也可选
Aresxue
201 天前
感谢 DeepSeek-R1 和 GPT 4o ,以下为当前页面的总结
### **中划线(-)**

**优点**

1. **视觉友好**
- 无驼峰大小写混淆(如 **`i`** 和 **`l`** 视觉近似问题)
- 空格替代感强,单词分隔清晰(**`get-list`** vs **`get_list`**)
2. **技术兼容性**
- 与域名规范一致(域名不支持下划线)
- 避免 HTTP 协议中路径大小写敏感问题(全小写统一)
- 符合 Google SEO 推荐([**官方文档**]( https://developers.google.com/search/docs/crawling-indexing/url-structure)),传统网站和 SEO 实践中,多推荐使用中划线
3. **输入便捷性**
- 无需切换大小写,打字效率更高
- 符合传统网站习惯(如 **`about-us`**、**`contact-info`**

**缺点**

1. **前端工具兼容性**
- 使用 **`-`** 分割路径可能导致 TS 模型生成工具解析困难(需额外配置)
- 某些自动生成的 API 工具不便生成含中划线的路径
2. **复制粘贴体验**
- 在某些编辑器中,双击选中时,中划线可能被切断(依赖编辑器配置修正),导致不易选中整个字符串。

### **下划线(`_`)**

**优点**

1. **开发工具友好**
- 双击复制时,下划线会被整体选中(无需配置编辑器)
- 与部分编程风格(如 Python 的 **`snake_case`**)一致
2. **规避大小写问题**
- 全小写下划线无大小写敏感风险

**缺点**

1. **视觉与功能性争议**
- 下划线在长 URL 中与空格区分度低(如 **`get_list`** vs **`getlist`**),可能与空格混淆
- 域名不支持下划线,路径中混用可能引发混淆
2. **服务器配置风险**
- Nginx 等服务器默认不支持 URL 中的下划线(需手动启用)

### **驼峰**

**优点**

1. **开发友好性**
- 与后端代码风格(如 Java 的驼峰命名)高度一致
- 节省字符长度(如 **`getList`** vs **`get-list`**)

**缺点**

1. **用户体验风险**
- 手动输入易混淆(如 **`i`** vs **`L`**)
- 部分客户端可能自动转全小写导致 404
- **输入不便**:需要在输入时切换大小写,使用上稍显麻烦
2. **协议兼容性问题**
- HTTP 路径大小写敏感,需严格匹配(前端/运维易出错)

总的来说,选择哪种格式需考虑具体应用场景的约束和需求,如 SEO 友好性、开发工具兼容性、团队编码规范等。中划线在较多场合被优选,尤其是在 SEO 和 URL 命名中。
simenet
200 天前
[_]

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1111107

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX