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

时间:2018-01-03 10:22:46

标签: playframework playframework-2.6

我刚刚从2.5.13

将play框架应用程序更新为2.6

我已设法遵循迁移指南并将其他所有内容解决,但我无法找到以下错误的解决方案:

  

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

回答我自己的问题,以防其他人遇到与Play应用程序相似的问题。

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

您可以成功拆分路径文件,而不会产生创建模块的痛苦和过度杀伤力。

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

将原始路径文件清空到相关的子路径文件后,相应地调整URL,使应用程序成功构建。

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

例如,如果您有一个名为admin的管理员控制包,则可以在名为/conf的{​​{1}}文件夹中创建路径文件。

  

必须是packagename.routes。

档案admin.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
  

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