Joh*_*igs 7 dependency-injection scala playframework playframework-2.0 macwire
我这样设置应用程序加载器:
class MyProjectApplicationLoader extends ApplicationLoader {
def load(context: Context): Application = new ApplicationComponents(context).application
}
class ApplicationComponents(context: Context) extends BuiltInComponentsFromContext(context)
with QAControllerModule
with play.filters.HttpFiltersComponents {
// set up logger
LoggerConfigurator(context.environment.classLoader).foreach {
_.configure(context.environment, context.initialConfiguration, Map.empty)
}
lazy val router: Router = {
// add the prefix string in local scope for the Routes constructor
val prefix: String = "/"
wire[Routes]
}
}
Run Code Online (Sandbox Code Playgroud)
但我的路线是自定义的,所以它看起来像:
该routes文件中:
-> /myApi/v1 v1.Routes
-> /MyHealthcheck HealthCheck.Routes
Run Code Online (Sandbox Code Playgroud)
和我的v1.Routes档案:
GET /getData controllers.MyController.getData
Run Code Online (Sandbox Code Playgroud)
所以现在当我编译项目时,我收到此错误:
错误:找不到类型的值:[v1.Routes] wire [Routes]
所以我不知道如何解决这个问题,有人知道如何使加载程序与这种路由结构一起工作?
您还需要连接v1.Routes. 在这里查看如何手动完成:
这应该按您的预期工作:
lazy val v1Routes = wire[v1.Routes]
lazy val wiredRouter = wire[Routes]
lazy val router = wiredRouter.withPrefix("/my-prefix")
Run Code Online (Sandbox Code Playgroud)
ps.:没有在实际项目中测试过。
| 归档时间: |
|
| 查看次数: |
788 次 |
| 最近记录: |