gpt4 book ai didi

scala - Play 2.0 是否禁用了 1.x 中提供的所有路由用法

转载 作者:行者123 更新时间:2023-12-04 05:38:51 25 4
gpt4 key购买 nike

Play 1.x 在 conf/route 中提供了一个包罗万象的路线:

# Catch all
* /{controller}/{action} {controller}.{action}

但似乎 Play 2.x 删除了此功能。

最佳答案

通常,此更改是 type-safe 中的一步整个 2.0 想法的方向,我不认为这是错误的。

在带有 type-safe 的框架中路由 - 就像在 Play 2 中,链接是逻辑的重要组成部分,因此使用“未知”目的地会同时增加容易出错的风险和降低安全性,这不是一件好事。 1.2 新版更反对的是什么 router验证参数类型,这进一步提高了应用程序的质量,尽管需要为每个 action 多写一行.

最后,总是有可能在您的类中添加自定义的“调度程序”方法并使用 asterisk rule 来“捕获”多段路径。 (单个参数用冒号标识):

GET   /multi/*path    controllers.Application.mySubRouter(path)

这将在 http://domain.tld/multi/ 之后传递整个链接部分并作为 String 发送给调度员操作所以你可以用它来用斜杠分割段,并使用两个第一个元素作为你想要重定向到的 Controller 和 Action 名称。
http://domain.tld/multi/MyController/myAction/p1/p2

但是在这种情况下,我肯定会 推荐 要在调度程序中对允许的组合进行一些额外的验证(可能通过自定义数据库规则集或某些正则表达式或其他方式),在其他情况下,您将回到我的论点的入口点: error prone + low security

关于scala - Play 2.0 是否禁用了 1.x 中提供的所有路由用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11552506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com