我正在尝试使用 macwire DI 在 Playframework 2.4 上构建应用程序,但 Play 中的 httpFilters 有问题!这是我正在尝试做的一个例子
class ExampleFilter extends Filter {
def apply(nextFilter: RequestHeader => Future[Result])
(requestHeader: RequestHeader): Future[Result] = {
nextFilter(requestHeader).map { result =>
result.withHeaders("Example" -> "test")
}
}
}
class Filters(ex:ExampleFilter) extends HttpFilters {
val filters = Seq(ex)
}
DI模块
trait Module extends EhCacheComponents with BuiltInComponents {
lazy val exampleFilter = wire[ExampleFilter]
lazy val filters = wire[Filters]
加载器类
class Loader extends ApplicationLoader {
def load(context: Context) = {
new MyComponents(context).application
}
}
class MyComponents(context: Context) extends BuiltInComponentsFromContext(context) with Module {
lazy val router: Router = wire[Routes] withPrefix "/"
}
application.conf 的一部分是
play.http.filters = Filters
和 ExampleFilter 不起作用。我收到没有“示例”标题的响应