标签: macwire

如何设置Play框架ApplicationLoader和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] …

dependency-injection scala playframework playframework-2.0 macwire

7
推荐指数
1
解决办法
788
查看次数