2017-07-05 3 views
1

私は(アッカ-HTTPテストコードにリンクしている)、これはアッカ-HTTPドキュメントの例で探しています:このakka-httpテストはMarshallerをどこにインポートしますか?

Marshalling

これは、実際にgithubのコードMarshalSpec.scalaからテストです。私の質問は、暗黙のマーシャルがここでどこに輸入されているのですか?私は輸入品を見ていて、それを見つけることができませんでしたか?私はIntelliJを使って暗黙的なインポートを表示しようとしましたが、まだこれを理解できませんでした。 21行で

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

:に渡されるマーシャラーのための暗黙的な宣言を取得import文はどこですか? それはMarshal.scalaで

def to[B](implicit m: Marshaller[A, B], ec: ExecutionContext): Future[B] = 

を呼び出し、暗黙的メートル渡し:マーシャラー、私は正確に特定することはできません。

答えて

0

MarshallerPredefinedToEntityMarshallersを拡張しています。これは、Stringからマーシャリングを提供します。

しかし、なぜMarshallerにはそれ自身の暗黙のことがありますか?だから、Where does Scala look for implicits?

、マーシャラーが使用する準備ができて独自のマーシャラーが付属しています:)

+0

あー、タイプのコンパニオンオブジェクト!!!:型引数の暗黙のスコープ内で暗黙のためのScalaの検索はからです私はこれを忘れて、現在の範囲でそれを見つけようとしていました。 'オブジェクトマーシャラー はPredefinedToRequestMarshallers {.... 'とPredefinedToResponseMarshallers とPredefinedToEntityMarshallers とGenericMarshallersを拡張します –

関連する問題