Play Framework中route设计很别扭的一点
Play Framework中url route设计成大小写敏感,而且URL中的斜线也不能自动判断。比如:
/listProducts 可以正确路由
/listproducts 就不行
为了避免这个问题,还得用正则表达式写成/list[pP]roduct,用起来比较别扭。不知道Play后续版本会不会改掉这个毛病。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
我觉得没必要纠结这个,开发时统一URL就可以了,为什么你要在URL中大写呢?
java 的世界里一般都是大小写敏感的,你看其的框架 struts, spring mvc 莫不如此。而且作为 URL 你必须考虑用户便于输入的时候,你会希望用户进行大小写切换,何不全用小写呢,你也能瞧见很多 URL 连接字符串时是使用 /your-are-welcome 这样的中杠来连接,而不采用下划线,原因也是输入中划线时不用按 shift 键。
url不要出现大写字母就行了。多简单的事情啊~
呵呵,我还觉得 url 里面不应该出现大写字母呢,应该统一小写,用减号分隔单词。
呵呵,我还觉得 url 里面不应该出现大写字母呢,应该统一小写,用减号分隔单词。
servlet不也是区分大小写的么,tail slash也不能自动识别
这个还是跟部署的机器有关的,如果是部署在windows下,windows下本身就不区分大小写的,所以你上面两个路由都可以访问到。
在linux下面就区分大小写,我之前也是在windows下开发,没注意大小写,放到linux下就出问题了。
不过还是统一好点。
一般很少让用户收入网站某个页面的网站,都是告诉用户:
你进入网站首页,然后点击右上角的XXX,进入后点击XXX按钮,然后就看到XXX了
这个还是跟部署的机器有关的,如果是部署在windows下,windows下本身就不区分大小写的,所以你上面两个路由都可以访问到。
在linux下面就区分大小写,我之前也是在windows下开发,没注意大小写,放到linux下就出问题了。
不过还是统一好点。
还是统一一种写法好吧,例如一个地址是 /aaaa ,那么 /Aaaa 就不应该能访问