Play Framework - 为路由配置生成代码

Play Framework - Generates Code for Routes Configuration

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

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

以上4个文件的purpose/role是什么?

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

你有一个控制器:

package controllers

class SomethingController {

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

routes文件

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

然后播放会生成类那个

  • 将查询连接到控制器 - 在 Routes.scala 中,您可以看到将查询传递到正确控制器的代码。它被Play应用程序使用,你不必处理这个文件,
  • 允许您为特定操作生成 URL - routes.javaReverseRoutes.scala

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

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