自定义基本路径播放框架

custom base path play framework

有没有办法为所有路由配置自定义根基本路径?

例如:

/login
/user
/group

但我想在所有内容前加上:

/v1/login
/v1/user
/v1/group

无论如何要通过 application.conf?

是的。假设您的 routes 文件具有以下路由

GET /login  controllers.login()
GET /user   controllers.user()
GET /group  controllers.group()

要实现您想要的效果,您只需重命名规则或将该规则移动到新文件(例如 v1.routes),然后在主 routes 文件中使用

->      /v1     v1.Routes

v1 文件中存在的所有路由现在都带有 v1

前缀

我们可以在 application.conf

中添加以下内容
application.context="/v1"

在当前版本 (2.5) 中,适当的方法是将所需的基本路径添加到 play.http.contextapplication.conf

play.http.context="/v1"

在 play 2.8 中,您可以为路由器指定路径前缀。使用编译时 DI 和 macwire 这看起来像这样:

  lazy val router: Router = {
    val prefix = "/v1"
    wire[Routes]
  }