Возврат массива JSON в Akka Http - PullRequest
0 голосов
/ 27 августа 2018

У меня есть сервер Akka HTTP с маршрутизацией, определенной следующим образом:

case class FooResults(results: Seq[Tuple2[String, Tuple2[Double, Double]]])

object MainApp extends App with JsonSupport {

  ...

  lazy val routes: Route =
    pathPrefix("foo") {
      pathEnd {
        get {
          entity(as[String]) { str =>
          val results =
            (fooActor ? Foo(str)).mapTo[FooResults]
          complete(results)
      }
    }
  }
}
...

И в классе я ввел неявную поддержку JSON:

trait JsonSupport extends SprayJsonSupport {
  import DefaultJsonProtocol._
  implicit val userFormat = jsonFormat1(FooResults)
}

Каким-то образом sbt все еще сообщает с

Type mismatch - FooResults with ToResponseMashallable

У кого-нибудь были подобные проблемы? Спасибо!

1 Ответ

0 голосов
/ 27 августа 2018

Я разобрался сам. Это потому, что в моем проекте есть два класса SprayJsonSupport:

import spray.httpx.SprayJsonSupport
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport

Теперь, очевидно, последний является правильным. Угадайте по пути, так как и Scala, и Akka развиваются (быстро), иногда это путает с пространствами имен и классами.

...