Unmarshaller在spray-client中的隐式解析

时间:2015-04-09 11:41:12

标签: scala spray spray-json spray-client

我有一个管道:

import spray.httpx.unmarshalling._
import spray.client.pipelining._
import spray.json._
import MyJsonProtocol._ //which defines a formatter for MyCustomType
import spray.http._
import spray.httpx.SprayJsonSupport._

val pipeline = sendReceive ~> unmarshal[MyCustomType]

编译说他不能find implicit value for parameter unmarshaller: spray.httpx.unmarshalling.FromResponseUnmarshaller[MyCustomType]

我已经像喷涂文档here中的示例那样完成了。 为什么它不能解决暗示?

修改 val pipeline = sendReceive ~> unmarshal[MyCustomType]用于匿名类的方法。我想出如果我在那个匿名类中声明我所有的jsonFomats(我的意思是驻留在MyJsonProtocol中的东西我替换为匿名类)一切正常。

所以问题是为什么这不适用于匿名类?

1 个答案:

答案 0 :(得分:1)

尝试指定值管道的类型:

val pipeline: HttpRequest => Future[MyCustomType] = sendReceive ~> unmarshal[MyCustomType]