私はパイプラインを持っています:
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]
私はここでスプレードキュメントのサンプルのようにそれをやった. 暗黙を解決できないのはなぜですか?
EDIT
val pipeline = sendReceive ~> unmarshal[MyCustomType]
は、匿名クラスのメソッドから使用されます。その匿名クラスですべてのjsonFomatsを宣言すると(つまり、匿名クラスMyJsonProtocol
に置き換えるものを意味します)、すべて正常に機能することがわかりました。
質問は、これが匿名クラスで機能しない理由です。