Playframework 为什么在play framework中添加了反向路由?

Playframework 为什么在play framework中添加了反向路由?,playframework,Playframework,既然我们可以从任何其他操作方法直接调用任何操作方法,为什么在play framework中添加了反向路由?反向路由简化了对URL端点的支持 假设我们有一个路由文件 POST /login/action controllers.LoginController.login 例如,您创建了一个登录页面,需要在表单上执行一个操作: <form action="/login/action" method="post"> ... </form> ...

既然我们可以从任何其他操作方法直接调用任何操作方法,为什么在play framework中添加了反向路由?

反向路由简化了对URL端点的支持

假设我们有一个路由文件

POST   /login/action          controllers.LoginController.login
例如,您创建了一个登录页面,需要在表单上执行一个操作:

<form action="/login/action" method="post">
...
</form>

...
反向路由允许您在此处仅放置一个方法调用

<form action="@routes.LoginController.login" method="post">
...
</form>

...
在第二种情况下,如果更改
routes
文件中的登录URL,则无需编辑模板文件


还有一件事——在第一种情况下,您可能会忘记更改模板中的URL,然后,当您构建正确时,您将遇到一个棘手的问题,但是您有以404结尾的链接

反向路由简化了对URL端点的支持

假设我们有一个路由文件

POST   /login/action          controllers.LoginController.login
例如,您创建了一个登录页面,需要在表单上执行一个操作:

<form action="/login/action" method="post">
...
</form>

...
反向路由允许您在此处仅放置一个方法调用

<form action="@routes.LoginController.login" method="post">
...
</form>

...
在第二种情况下,如果更改
routes
文件中的登录URL,则无需编辑模板文件


还有一件事——在第一种情况下,您可能会忘记更改模板中的URL,然后,当您构建正确时,您将遇到一个棘手的问题,但是您有以404结尾的链接

我们还需要尝试什么?如果我们想从一个动作方法调用任何其他动作方法,我们必须使用反向路由将其重定向到相应的url,但我们可以像在简单java代码中那样直接调用该方法。我们还需要尝试什么?如果我们想从一个动作方法调用任何其他动作方法,我们必须重定向它使用反向路由到其相应的url,但我们可以像在简单java代码中那样直接调用该方法。我还有一个问题要问,即“使用重定向代替反向路由是否相同,因为最终所有内容都是对这两种情况的调用?”重定向和反向路由是不同的。重定向:
重定向(“/hello/bob”)
。反向路由:
routes.Application.hello(“Bob”)
。使用反向路由重定向:
Redirect(routes.Application.hello(“Bob”))
我还有一个问题要问,即“使用重定向代替反向路由是否相同,因为最终这两种情况下的一切都是调用?”重定向和反向路由是不同的。重定向:
重定向(“/hello/bob”)
。反向路由:
routes.Application.hello(“Bob”)
。使用反向路由重定向:
Redirect(routes.Application.hello(“Bob”))