首页 > 解决方案 > 使用前缀拆分路由在 Play 2.7 中不起作用(在 2.6 中起作用)

问题描述

我们的项目使用多个路由文件。

conf/routes 文件包含以下内容:

/some/stuff
...

-> /api/admin       admin.Routes
-> /api/user          user.Routes

然后我们有 conf/admin.routes 和 conf/user.routes 文件,其中包含前缀 API 路由。

我正在尝试从 Play 2.6(此设置运行良好,以及早期版本)升级到 Play 2.7。编译时出现错误:

[error] /usr/src/backend/conf/admin.routes:401: value concatPrefix is not a member of object play.api.routing.Router
[error] GET            /myAdminRoute                                                                        @com.my.some.controllers.MyControl.list()
[error] /usr/src/backend/conf/user.routes:140: value concatPrefix is not a member of object play.api.routing.Router
[error] GET            /myUserRoute                                                 @com.my.other.controllers.MyControl.list()

查看 2.7 的 Play 迁移:

我认为问题是因为路由器的前缀更改,但我不确定如何根据我需要更新的内容来解释它。Play 2.7还有其他人遇到过这个问题吗?

标签: scalaplayframeworkplay-framework-2.7

解决方案


我刚刚玩过这个游戏,第一次是几周前 - 我没有遇到同样的错误。如果我重新开始并忘记 SBTunlock; reload; lock循环,我可以重现,这可能是我之前犯的错误。这给我留下了与 Play 2.7 插件一起安装的 Play 2.6 库。


推荐阅读