Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala-Akka Http-使用路由将Future[A]返回为Json Akka Http版本:“com.typesafe.Akka”%%“Akka Http”%%“10.0.11” 流版本:“com.typesafe.akka”%%“akka流”%%“2.5.7” 播放Json版本:“com.typesafe.Play”%%“播放Json”%%“2.6.7”_Scala_Future_Akka Http - Fatal编程技术网

Scala-Akka Http-使用路由将Future[A]返回为Json Akka Http版本:“com.typesafe.Akka”%%“Akka Http”%%“10.0.11” 流版本:“com.typesafe.akka”%%“akka流”%%“2.5.7” 播放Json版本:“com.typesafe.Play”%%“播放Json”%%“2.6.7”

Scala-Akka Http-使用路由将Future[A]返回为Json Akka Http版本:“com.typesafe.Akka”%%“Akka Http”%%“10.0.11” 流版本:“com.typesafe.akka”%%“akka流”%%“2.5.7” 播放Json版本:“com.typesafe.Play”%%“播放Json”%%“2.6.7”,scala,future,akka-http,Scala,Future,Akka Http,我在crudService中有以下方法: def getAll:Future[Seq[A]] 我想以一种方式返回它,将结果作为Json提供给全世界。我目前有: val crudService = new CrudService[Todo]() val route = pathPrefix("todo" / "_all") { get { complete { crudService.getAll } }

我在crudService中有以下方法:

def getAll:Future[Seq[A]]

我想以一种方式返回它,将结果作为Json提供给全世界。我目前有:

val crudService = new CrudService[Todo]()



val route =
    pathPrefix("todo" / "_all") {
      get {
        complete {
          crudService.getAll
        }
      }
    }



val bindingFuture = Http().bindAndHandle(route, hostname, port)
我也尝试过这个(第一次完成未来):


它一直在说:不适用于响应者。我找不到能够提供正确解决方案的文档,我也不完全理解这里的问题。有人可以帮忙吗?

您需要添加play json支持,该支持不是内置的,无法提供(取消)编组支持

尝试导入库并将类与PlayJsonSupport混合。您可以查看示例应用程序


不幸的是,我没有运行这个。添加到sbt后,PlayJsonSupport不可用。
val route =
    pathPrefix("todo" / "_all") {
      get {
        onSuccess(crudService.getAll) { x =>
          complete x
        }
      }
    }
def route(implicit mat: Materializer) = {
  import Directives._
  import PlayJsonSupport._

  pathSingleSlash {
    post {
      entity(as[Foo]) { foo =>
        complete {
          foo
        }
      }
    }
  }
}

Http().bindAndHandle(route, "127.0.0.1", 8000)