я фид JSon обратно с удаленного API третьей стороной следующим образом: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. Возможно ли, чтобы Маршвалл и разобрал этот Json или только его части?
Одной из проблем является то, что, когда я отправить его обратно завернул в 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 сам?
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