驼峰方式: api/getList
中划线: api/get-list
哪种方式使用的多些, 记得以前 seo 为王的年代,"-"中划线方式是不被推荐作为域名或者 path 的
现在 seo 已经淡出视野,不知道大家是怎么设计的
1 superrichman 240 天前 下划线: get_list |
2 kokerkov 240 天前 WSJ 和路透社都是“-” |
3 flmn 240 天前 ![]() 我怎么记得之前一直推荐的就是"-"中划线方式呢? 我个人选择中划线,理由: 1 、不用驼峰,这样 url 里全小写,统一好看,如果是别人敲字,也不用考虑大小写 2 、下划线跟空格视觉区分度差 3 、传统的网站,讲究的也是中划线区分单词 |
![]() | 4 momo31 240 天前 我也是推荐 "-" 中划线,看着舒服点 |
![]() | 5 elltor 240 天前 虽然「-」比较推荐,但是(我们)项目里用的不多,主要原因是「-」分割的 path 不利于前端生成 api model ( ts 根据 swagger 生成 ts 类那一套) |
6 shenyangno1 240 天前 记忆中一直是推荐的是中划线 |
7 superrichman 240 天前 |
![]() | 8 hanssx 240 天前 路径 url 属于显示方面,肯定中线,getList 是省字符的方式,我只会考虑编码时使用,另外中线这玩意儿在显示方面叫 slug 。 |
![]() | 9 chendy 240 天前 ![]() 下划线,双击复制粘贴的时候下划线能一起选到,中划线会被切断 不用驼峰是为了避免潜在的大小写敏感不敏感问题 |
![]() | 10 Vegetable 240 天前 ![]() 个人来说 不建议在 url 中使用大小写敏感的路径。很少见,不好看。 整个 http 协议里边,大小写这块都不统一。scheme/host/header 都是大小写不敏感的,但是 path/query/body 又是敏感的。为了统一直接全部小写。 不建议使用下划线,因为 header 中下划线存在一些历史问题,Nginx 默认都是不支持的,为了避免麻烦保持一致性,统一使用-。 |
11 lveye 240 天前 我司参考的是 google 的 AIP ( https://google.aip.dev/136 ),它的多字母自定义动词是要求与 rpc 的方法名保持一致,即小驼峰。但是我领导看不惯这种写法,这种格式都统一用的中横线 ![]() |
![]() | 12 bv 240 天前 |
![]() | 13 nthin0 240 天前 推荐是中划线,我司因为历史包袱一直用的下划线 |
![]() | 15 9A0DIP9kgH1O4wjR 240 天前 推荐还是中划线,下划线在域名中是不能使用的,但是 path 可以,所以感觉还是中划线好点 |
![]() | 16 newaccount 240 天前 驼峰式:遇到有人写错查的时候坑死你,大 I 小 L 就够把你压箱底儿的大刀抽出来了 下划线:下划线不能用在域名里面,你确定要时刻记着什么地方可以用什么地方不能用吗 横线:看着前面两条懒得说话 |
![]() | 17 sunny2580839896 240 天前 ![]() 最近正好在设计这块,也是很纠结,综合结论就是:ai 推荐 a-b 这种命名,但是编辑器 a-b 复制会截取,所以使用 a_b ,但是,但是,微信回调必须是 xx.com/a/b 这种形式,最后项目就变成了这 3 种形式都有的组合 |
18 bitmin 240 天前 我喜欢中划线,好输入好看 下划线和驼峰都属于不好输入不好看 |
19 nilaoda 240 天前 考虑被搜索引擎抓取,就用中划线- 否则就用下划线_ 驼峰是下下策 |
![]() | 20 Zenon 240 天前 呃,下划线 |
22 mxT52CRuqR6o5 240 天前 via Android ai 时代用下划线中划线更好些?有利于 llm 分割 token |
23 kaf 240 天前 下划线看不清,中划线比驼峰好看 |
24 pigf 240 天前 减号 大家以后也叫中划线为为减号吧 |
![]() | 25 kingterrors 240 天前 @sunny2580839896 如果只是编辑器不适应,编辑器配置一下对应的设置,让下划线能直接选中就好了。 |
26 jingdongkehu 240 天前 全小写尽量一个词,一个词不行就简写 |
27 CoderLife 240 天前 GET: api/shop/list GET: api/shop/info POST: api/shop/save |
![]() | 28 oukichi 240 天前 绝对是中划线,没别的选,甚至没有多想的必要,真的 |
![]() | 29 Cyron 240 天前 如果是前端,URL 友好格式是用 dash (-)分割 如果是后端 api ,打开 github 看看 fetch 请求你就懂了 |
![]() | 30 x86 240 天前 中划线看着都舒服很多了 |
![]() | 31 acthtml 240 天前 肯定连词线啊。 从古至今,path 中是否带有连词线,对 seo 都没有影响。 |
![]() | 32 guanhui07 240 天前 下划线 方便复制 |
![]() | 33 sunny2580839896 240 天前 @kingterrors 好的,谢谢大佬 |
34 salmon5 240 天前 |
![]() | 35 vivisidea 240 天前 ![]() 优先考虑不加线 /api/getList --> /api/list 非加不可的话,个人倾向于 中划线 /api/get-list 切换大小写打字很烦 |
![]() | 36 qsnow6 240 天前 拒绝反人类的大小写,遇到近似字符简直抓狂,还有部分客户端可能会自动转换为全小写,最佳实践就是全小写。 |
![]() | 37 wangyzj/strong> 240 天前 rest 方式尽量用资源分层写法,不需要中划线啥的 如果有些特殊不得不,那么中划线 |
38 hydrionz 240 天前 公司里大部分都在用驼峰形式,但是这个东西有时候一个大小写没注意就 404 了,尤其当前端对自己眼睛比较自信,不复制而自己手打的时候 下划线没法申请域名,所以 URL 中其他地方我也都没用过下划线 自己平时定义 URL 用中划线比较多,个人域名也是两个字母中间一个中划线 |
39 eBMm8zIi0Zq3 240 天前 驼峰好像对有些设备软件兼容不行,会有忽略大小写的情况。 |
40 eBMm8zIi0Zq3 240 天前 我指的是 URL 中的驼峰 |
![]() | 41 fuyun 240 天前 |
![]() | 42 Ipsum 240 天前 via Android Restful 应该不存在这个问题,都用 method 动词代替了。 |
43 auh 240 天前 /apis get 是 http 方法。s 代表 list 。 |
44 iseki 240 天前 我更喜欢 M$ 的 API 风格指南,该指南推荐中划线。我猜想这可能和 HTTP 协议的整体风格有关。 |
45 spritecn 239 天前 这取决于用 java 还是用 python 吧,java 大家都写驼峰,python 都是蛇 |
46 zhyt1985 239 天前 ![]() url 里不能有动词啊,应该是/api/list |
47 zhangdp 239 天前 restful ,不要 get ,就是/api/list 简单明了 |
48 julyclyde 239 天前 seo 为王的年底啊,大家都把 seo 当 sb 伺候? |
49 SunnyIng 239 天前 |
50 yjw06282 238 天前 用 next.js 怎么办. url 是目录自动生成的. 目录总要驼峰合适吧 |
![]() | 52 Aresxue 232 天前 感谢 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 命名中。 |
![]() | 53 simenet 232 天前 [_] |