Play框架-生成用于路由配置的代码

时间:2018-07-09 17:41:17

标签: scala playframework routes

我最近开始使用Scala学习Play框架2.6。我知道Play会为conf/routes中的路由配置文件编译并生成代码,例如reverse-routing,但是我很难理解它在哪里以及如何生成它们。

根据我的观察,我在target/scala-2.12/routes目录下找到了4个生成的文件:

  • Routes.scala
  • RoutesPrefix.scala
  • routes.java
  • ReverseRoutes.scala

以上4个文件的目的/作用是什么?

1 个答案:

答案 0 :(得分:0)

基本上,它允许您基于conf/routes文件生成反向路由。

您有一个控制器:

package controllers

class SomethingController {

  def doThings(param: String): Future[String] = ???
}

routes文件

GET /something/:param  controllers.SomethingController.doThings(param: String)

然后播放将生成可以播放的类

  • 将把查询连接到控制器-在Routes.scala中,您将看到将查询传递到正确控制器的代码。 Play应用程序使用它,您无需处理此文件,
  • 允许您为特定操作生成网址-routes.javaReverseRoutes.scala

    controllers.routes.SomethingController.doThings("something") // Call

  • prefix是一个实用程序,可让您一次将前缀添加到所有路由-如果您想要在主机和URI之间的任意位置添加/api,则有可能因为前缀是可配置的(例如,通过play.http.context=/api中的设置application.conf)。您可能不必直接使用它。