【发布时间】:2016-08-09 13:59:15
【问题描述】:
我想创建一个自定义操作,以消除编写此类操作的样板:
Action[MyClass](BodyParsers.parse.json[MyClass]) { req => ...
但是,我不断遇到类定义错误。这是我最成功的尝试:
class JsonAction[A: Reads] extends ActionBuilder[Request] {
def hardcodedJson[A: Reads](action: Action[A]) =
Action.async(BodyParsers.parse.json[A]) { request => action(request) }
def invokeBlock[A: Reads](request: Request[A], block: (Request[A]) => Future[Result]) = {
block(request)
}
override def composeAction[A: Reads](action: Action[A]) = hardcodedJson(action)
}
但我收到以下错误:method composeAction overrides nothing.
如果我将 composeAction[A: Reads] 更改为 composeAction[A],它会告诉我没有 A 类型的 Json 序列化器。
还有其他方式来定义这个自定义操作吗?
【问题讨论】:
标签: scala playframework play-json context-bound