提问人:kag0 提问时间:5/9/2017 更新时间:5/9/2017 访问量:893
在 play 框架 scala 中使用 ActionFilter 编写 Action(BodyParser)
Composing Action(BodyParser) with ActionFilter in play framework scala
问:
我有一个游戏框架应用程序和一个有问题的操作。我正在尝试使用解析请求正文,然后对解析的正文进行运行。parse.form
ActionFilter
到目前为止,我有这样的东西
object ModelValidationAction extends ActionFilter[Request[MyModel]]{
def filter[A <: MyModel](request: Request[A]) = ???
}
def routePointsHere = (Action(parse.form(myModelForm)) andThen ModelValidationAction) { (request: Request[MyModel]) => ??? }
但是IDEA给了我错误提示
预期 Action[MyModel] => NotInferredA,实际 ModelValidationAction.type
编译器告诉我
...缺少 trait ActionBuilder
中方法应用的参数列表 [error] 仅当需要函数类型时,未应用的方法才会转换为函数。 [错误]您可以通过编写 or 代替 来显式此转换。apply _
apply(_)(_)
apply
因此,我可以收集到问题出在第二个参数列表未被填充这一事实的方法上,但我不知道该语言在这里的行为方式。apply[A](bodyParser: BodyParser[A])(block: R[A] => Result): Action[A]
我(完全没有根据的)假设是,这将成为并且调用将返回相同的结果。Action(parse.form(myModelForm))
Request[MyModel] => Result
andThen
关于我错过了什么,有什么指示吗?谢谢!
答: 暂无答案
评论
Action.andThen(ModelValidationAction).async(parse.json) { ??? }