首页 > 解决方案 > 如何在主路由文件中使用多个带有路径参数的播放路由文件?

问题描述

Scala 2.12 版,Play 2.7 版

我有一个非常大的 Routes 文件,我想将其拆分为多个文件,因为它包含不同的用户旅程,可能长达 20 多页。它目前看起来像这样:

GET    /x/:param/a/...    ...
GET    /x/:param/a/...    ...
GET    /x/:param/a/...    ...
GET    /x/:param/a/...    ...
GET    /x/:param/a/...    ...

GET    /x/:param/b/...    ...
GET    /x/:param/b/...    ...
GET    /x/:param/b/...    ...
GET    /x/:param/b/...    ...
GET    /x/:param/b/...    ...

GET    /x/:param/c/...    ...
GET    /x/:param/c/...    ...
GET    /x/:param/c/...    ...
GET    /x/:param/c/...    ...
GET    /x/:param/c/...    ...

etc

我想将它们拆分为每个用户旅程的不同路线文件,以使其更具可扩展性和可管理性,如下所示:

->     /x/:param/a        a.Routes
->     /x/:param/b        b.Routes
->     /x/:param/c        c.Routes

其中 a.routes、b.routes 和 c.routes 将包含用户旅程 a、b 和 c。

由于主路由文件中的参数,它目前没有编译:param,我不知道如何将它传递给 a.routes、b.routes 和 c.routes 中的控制器 - 我该如何编译?甚至可能吗?

请注意,通过移动:param到单独的路由文件来更改路由本身是不可能的,因为这是一项实时服务,不能进行任何面向公众的更改;这纯粹是一项技术债务要求,以帮助支持不断扩展的服务。


编辑:自从写了这个问题以来,我已经将我的服务升级到了Play 2.7 。解决它没有进展,但升级可能与解决方案有关。

标签: scalaplayframeworkroutesplay-framework-2.7

解决方案


推荐阅读