我已经使用自定义请求定义了自定义操作:
class UserRequest[A](val user: Option[UserFront], request: Request[A]) extends WrappedRequest[A](request)
case class UserAction (parser: BodyParser[AnyContent])(implicit ec: ExecutionContext)
extends ActionBuilder[UserRequest, AnyContent] with ActionTransformer[Request, UserRequest] {
Here is implementation, cutted
}
现在我可以在控制器中使用此操作,如下所示:
UserAction(parse.defaultBodyParser){ implicit request: UserRequest[_] =>
}
问题是:我不能将它与Json body解析器一起使用
如果我将代码更改为
UserAction(parse.json){ implicit request: UserRequest[_] =>
}
我收到了编译错误:
类型不匹配;发现: play.api.mvc.BodyParser [play.api.libs.json.JsValue]必填: play.api.mvc.BodyParser [play.api.mvc.AnyContent]
我在这里做错了什么?