0

我刚刚将一个播放框架应用程序从 2.5.13 更新到 2.6

我已设法遵循迁移指南并使其他所有内容都从头开始,但是我找不到以下错误的解决方案:

平台限制:参数列表的长度不能超过 254。

我的路线文件相当大,但这在以前的版本上不是问题。

我相信这个错误是 Play Framework 为阻止路由文件变得太大而设置的限制,但是当以前的版本允许它时,它似乎毫无意义。

我还看到您可以使用模块拆分路由文件,但是在这种情况下这是不可能的,理想情况下应该有一种方法没有完全重建应用程序的开销。

有没有办法在没有模块的情况下拆分路由文件或简单修复此错误?

4

1 回答 1

0

回答我自己的问题,以防其他人在他们的 Play 应用程序增长时遇到类似的问题。

@marcospereira 是对的,生成的路由器要处理的路由太多。

您可以成功拆分路由文件,而无需创建模块的痛苦和矫枉过正。

因为我已经在应用程序的不同部分为控制器设置了包,所以很容易package.routes为每个控制器创建一个文件。

一旦原始路由文件被清空到相关的子路由文件中并相应地调整 URL,应用程序构建成功。

对于第一次这样做的人可能不明显的是,您需要确保每个路由文件与包含它们正在拆分的控制器的包相匹配。

例如,如果您有一个名为 admin controllers 的包,admin您可以在您的文件夹中创建一个/conf名为admin.routes.

它必须是 packagename.routes。

文件/conf/routes

GET     /                       controllers.Home.index
->      /admin                  admin.Routes
->      /user                   user.Routes

文件/conf/admin.routes

GET    /                        controllers.admin.Admin.index
GET    /analytics               controllers.admin.Analytics.dashboard

文件/conf/user.routes

GET    /                        controllers.user.User.index
GET    /profile                 controllers.user.User.profile

重要的是要记住每个 package.routes 中的 GET / 等效于原始路由文件中的 /package/。

于 2018-01-09T09:49:34.167 回答