这是“注入函数(解析器)到Action trait的匿名实现”吗?

时间:2014-10-24 06:53:11

标签: scala playframework-2.0

我不太了解这种语法(带有红色方块的语法)。这是"注入函数(解析器)到Action trait"的匿名实现的情况。

我已经尝试使用谷歌搜索确认/丢弃该内容,但未找到任何文章的答案。

或者......是否有一个伴随对象(在Play 2中),其名称为" Action",其apply方法采用(可选)BodyParser参数?

提前感谢您为我清除这一切!

祝你好运, 拉嘎

enter image description here

2 个答案:

答案 0 :(得分:4)

关于标准,具有大写A的“行动”只能是伴侣对象。

从    https://github.com/playframework/playframework/blob/master/framework/src/play/src/main/scala/play/api/mvc/Action.scala

object Action extends ActionBuilder[Request] {...}

trait ActionBuilder[+R[_]] extends ActionFunction[Request, R] {
final def apply[A](bodyParser: BodyParser[A])(block: R[A] => Result): Action[A] = async(bodyParser)       { req: R[A] =>
Future.successful(block(req))

ActionBuilder的apply方法将bodyParser作为参数。

答案 1 :(得分:3)

  

或者......是否有一个伴随对象(在Play 2中),其名称为“Action”,其apply方法采用(可选)BodyParser参数?

Yes(“可选”部分除外;还有一些重载不会BodyParser,但它们的block参数类型也不同。“