私は戻って、このように、リモートのサードパーティのAPIからJSONフィードを取得:Akka:返されたJsonフィードを処理するには?
val myjson: Future[HttpResponse] = http.singleRequest(HttpRequest(uri = encodedUri))
myjson onComplete {
case Success(response) => sender ! WrappedResponse(response.entity.toJson)
case Failure...
}
ケースクラスのWrappedResponse(レスポンス:JsValue)
HttpResponse.entity
は私のJSONフィードが含まれています。それは可能なマーシャルとunmarshallこのJsonのフィードまたはその一部だけですか?
Error:(38, 78) Cannot find JsonWriter or JsonFormat type class for akka.http.scaladsl.model.ResponseEntity
case Success(response) => sender ! WrappedResponse(response.entity.toJson)
どのように私は「マーシャル」JSON自体:
問題の一つは、私はそれを送り返すときということですが、私は何かを得るケースクラスでJSONを包ん?
UPDATE
私は最終的に、このように最初のデータをアンマーシャリングするために得る:
val responseData = sendHttpRequest(encodedUrl)
val bodyAsString = responseData.flatMap { response => Unmarshal(response.entity).to[String] }
bodyAsString onComplete {
case Success(body) => sender ! WrappedResponse(body)
case Failure(response) => response
}
と私のマーシャラーで:
trait MyJsonMarshaller extends SprayJsonSupport with DefaultJsonProtocol {
implicit val titleDeedResponseFormat = jsonFormat1(WrappedResponse.apply)
}
が、 "再適用" マーシャリング動作していません
「マーシャリングを再適用する」とはどういう意味ですか?コンパイラエラーが発生しましたか? – acjay
いいえ、私はそれを解決しました。もう一度申し込む必要はありません。 – Randomize