controller 的 url 要区分大小写不? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
NoKey
V2EX    程序员

controller 的 url 要区分大小写不?

  •  
  •   NoKey 2024-09-29 16:04:37 +08:00 2827 次点击
    这是一个创建于 379 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我看有地方说要全小写,但是很多单词挤到一起全小写看起来很难受
    有啥专门的标准说明这个么?
    谢谢
    19 条回复    2024-09-29 20:58:07 +08:00
    BeijingBaby
        1
    BeijingBaby  
       2024-09-29 16:09:50 +08:00
    /foo-bar
    /fooBar
    /foo_bar
    /foobar
    都行,看自己喜欢了
    bitmin
        2
    bitmin  
       2024-09-29 16:13:03 +08:00
    我喜欢 /foo-bar 这种单词分开看着舒服

    /fooBar 这种如果很长看的难受
    Oktfolio
        3
    Oktfolio  
       2024-09-29 16:13:31 +08:00   10
    个人认为

    flatcase
    camelCase
    underscore_case
    kebab-case
    kcccc
        4
    kcccc  
       2024-09-29 16:14:47 +08:00
    这个没有死规的标准吧,都是围绕可读性来说。
    个人习惯使用连字符而不是下划线,如 2 楼说的。
    zgsi
        5
    zgsi  
       2024-09-29 16:16:05 +08:00
    C#demo 是首字母大写,所以我现在 Controller 和 Action 首字母都是大写
    KagurazakaNyaa
        6
    KagurazakaNyaa  
       2024-09-29 16:20:13 +08:00
    url 的 schema 和主机部分是很明确不区分大小写的,但是后面的路径按 rfc 我记得只是“应该”而非“必须”区分大小写,所以如果是为了最大兼容性考虑,最好是全部小写
    wlingxiao
        7
    wlingxiao  
       2024-09-29 16:20:31 +08:00
    自己把握不准就找个参考呗,比如 github 的接口是这种

    https://api.github.com/repositories/42/actions/permissions/selected-actions
    bv
        8
    bv  
       2024-09-29 16:24:30 +08:00
    snipking
        9
    snipking  
       2024-09-29 16:30:05 +08:00
    关于 url 的规定,目前最详细的是 RFC3986 https://datatracker.ietf.org/doc/html/rfc3986

    事实上允许直接使用的字符包括 数字 字母 - _ . ~,其它都得 urlEncoding

    字母可以使用大写和小写,但是在 schema 和 host 上大小写不敏感,所有大写均视为小写,但是在 path 和 parameter 上是大小写敏感的

    所以具体到 controller 的 url 规范,以下均可,只要保持项目内遵从唯一规范,别搞出混用就行了

    flatcase
    camelCase
    underscore_case
    kebab-case
    snipking
        10
    snipking  
       2024-09-29 16:32:08 +08:00
    @snipking #9 更正,不是 parameter ,是 query
    justfindu
        11
    justfindu  
       2024-09-29 16:40:50 +08:00
    个人认为 aabbcc-ccddee 这样
    adoal
        12
    adoal  
       2024-09-29 16:46:58 +08:00
    换个思路,干脆用无意义的字符串比如 UUID 做路径,反正现在的用户都是从搜索和导航来找的,使用时也不会关心 URL ,甚至根本注意不到
    AdamMing
        13
    AdamMing  
       2024-09-29 17:00:05 +08:00
    投 kebab-case 一票
    Ayanokouji
        14
    Ayanokouji  
       2024-09-29 17:15:10 +08:00
    没啥标准,但我投 kebab-case 一票
    superchijinpeng
        15
    superchijinpeng  
       2024-09-29 17:15:43 +08:00
    kebab-case +1
    wolfie
        16
    wolfie  
       2024-09-29 17:23:38 +08:00 via Android
    烤串 > 驼峰。
    url 禁止下划线。
    DeadLion
        17
    DeadLion  
    PRO
       2024-09-29 17:59:12 +08:00
    不建议驼峰

    就两种

    a_b

    a-b
    BeautifulSoap
        18
    BeautifulSoap  
       2024-09-29 19:04:58 +08:00
    域名是不区分大小写的,所以 url 和域名统一比较好

    区分大小写之后一个更大的问题在于,一些大小写区别过了段时间后你自己都会忘记掉
    vituralfuture
        19
    vituralfuture  
       2024-09-29 20:58:07 +08:00 via Android
    用减号的优点是搜索引擎友好,减号会被认为是单词分隔符
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2982 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 13:48 PVG 21:48 LAX 06:48 JFK 09:48
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86