V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NoKey
V2EX  ›  程序员

controller 的 url 要区分大小写不?

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

    /fooBar 这种如果很长看的难受
    Oktfolio
        3
    Oktfolio  
       32 天前   ❤️ 10
    个人认为

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

    https://api.github.com/repositories/42/actions/permissions/selected-actions
    snipking
        9
    snipking  
       32 天前
    关于 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  
       32 天前
    @snipking #9 更正,不是 parameter ,是 query
    justfindu
        11
    justfindu  
       32 天前
    个人认为 aabbcc-ccddee 这样
    adoal
        12
    adoal  
       32 天前
    换个思路,干脆用无意义的字符串比如 UUID 做路径,反正现在的用户都是从搜索和导航来找的,使用时也不会关心 URL ,甚至根本注意不到
    AdamMing
        13
    AdamMing  
       32 天前
    投 kebab-case 一票
    Ayanokouji
        14
    Ayanokouji  
       32 天前
    没啥标准,但我投 kebab-case 一票
    superchijinpeng
        15
    superchijinpeng  
       32 天前
    kebab-case +1
    wolfie
        16
    wolfie  
       32 天前 via Android
    烤串 > 驼峰。
    url 禁止下划线。
    DeadLion
        17
    DeadLion  
       32 天前
    不建议驼峰

    就两种

    a_b

    a-b
    BeautifulSoap
        18
    BeautifulSoap  
       32 天前
    域名是不区分大小写的,所以 url 和域名统一比较好

    区分大小写之后一个更大的问题在于,一些大小写区别过了段时间后你自己都会忘记掉
    vituralfuture
        19
    vituralfuture  
       32 天前 via Android
    用减号的优点是搜索引擎友好,减号会被认为是单词分隔符
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5274 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 01:20 · PVG 09:20 · LAX 18:20 · JFK 21:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.