【发布时间】:2020-08-14 14:51:08
【问题描述】:
我们的项目使用多个路由文件。
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 迁移:
- 我没有使用 StaticRoutesGenerator https://www.playframework.com/documentation/2.7.x/Migration27#StaticRoutesGenerator-removed
- 看起来很可疑:https://www.playframework.com/documentation/2.7.x/Migration27#StaticRoutesGenerator-removedRouter#withPrefix 应该始终添加前缀`。但我只是在使用 Play conf/routes,所以我不确定我应该改变什么?
我认为问题是由于路由器的前缀更改造成的,但我不确定如何根据需要更新的内容来解释它。其他人在 Play 2.7 中遇到过这个问题吗?
【问题讨论】:
-
你确定你没有以某种方式混合不同的 Play 版本吗?
concatPrefix确实应该是对象play.api.routing.Router的成员...
标签: scala playframework play-framework-2.7