- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我以这种方式设置了应用程序加载器:
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]
}
}
routes
文件:
-> /myApi/v1 v1.Routes
-> /MyHealthcheck HealthCheck.Routes
v1.Routes
文件:
GET /getData controllers.MyController.getData
Error: Cannot find a value of type: [v1.Routes] wire[Routes]
最佳答案
@marcospereira 的答案是正确的,但可能代码有点错误。
错误是由于 routes
文件引用 v1.routes
- 这被编译为 Routes
具有 v1.Routes
类型参数的类.
您可以在 target/scala-2.12/routes/main/router
中看到生成的代码和 /v1
.
因此要接线 Router
,您需要一个 v1.Router
实例。创建一个 v1.Route
例如,您首先需要连接它。
这是修复上述示例的一种方法:
lazy val router: Router = {
// add the prefix string in local scope for the Routes constructor
val prefix: String = "/"
val v1Routes = wire[v1.Routes]
wire[Routes]
}
关于scala - 如何设置 Play Framework ApplicationLoader 和 Macwire 以使用自定义路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44912215/
我正在为依赖注入(inject)梳理 MacWire。 我发现对 Guice 有用的一件事是辅助注入(inject), Autowiring 一个工厂,帮助您创建一些需要运行参数的服务。 Macwir
我以这种方式设置了应用程序加载器: class MyProjectApplicationLoader extends ApplicationLoader { def load(context: C
这是我想要做的 package gc.services.http.playWs.lmi import com.softwaremill.macwire.Macwire import play.api.
我是一名优秀的程序员,十分优秀!