这个akka-http测试在哪里导入Marshaller?

时间:2017-07-05 14:15:23

标签: scala akka-http

我正在查看这个akka-http文档示例(链接到akka-http测试代码):

Marshalling

这实际上是来自github代码MarshalSpec.scala的测试。我的问题是,隐含的Marshaller在这里导入了什么?我在看进口,我找不到它?我尝试使用IntelliJ向我展示隐式导入,但我仍然无法解决这个问题。获取传递给Marshaller的隐式声明的import语句在哪里:

  val entityFuture = Marshal(string).to[MessageEntity]

在第21行? 它叫

def to[B](implicit m: Marshaller[A, B], ec: ExecutionContext): Future[B] =
在Marshal.scala中

传递一个隐含的m:Marshaller,我无法精确定位。

1 个答案:

答案 0 :(得分:0)

SELECT NVL (id, 3) FROM my_table WHERE LEVEL = 1 CONNECT BY id = PRIOR successor START WITH id = 3; 扩展了Marshaller,它提供了来自String的编组。

但是,为什么Marshaller有自己的暗示呢?这是因为scala在类型参数的隐式范围中搜索implicits:Where does Scala look for implicits?

所以,Marshaller随身携带自己的Marshallers:)