我正在尝试创建AuthenticatedBuilder对象,我正在努力解决如何提供“defaultBodyParser”字段。
private void call(Object... object) {
// Method code here.
}
抱怨:“未指定的值参数:defaultBodyParser:BodyParser [AnyContent]”
显然你需要提供这个字段,但目前还不清楚从哪里获取它。我知道Play已经拥有BodyParsers(JSON,XML等)所以...我如何在这里提供它们?
答案 0 :(得分:0)
事实证明答案是在ScalaDocs本身。不要使用Object,而是使用这样的类:
class UserAuthenticatedBuilder(parser: BodyParser[AnyContent])(implicit ec: ExecutionContext)
extends AuthenticatedBuilder[User]({ req:RequestHeader =>
req.headers.get("mytoken").flatMap(authCheck)},
parser
) {
@Inject()
def this(parser: BodyParsers.Default)(implicit ec: ExecutionContext) = {
this(parser: BodyParser[AnyContent])
}
}
因此,您可以看到使用Play的DI将解析器注入到类中。