使用Slick 3.0 Databasepublisher进行Akka-http流式传输

时间:2015-04-15 16:04:06

标签: scala akka slick akka-stream akka-http

我正在使用slick 3.0并将databasepublisher对象作为

def getAsStream = db.stream[Entity](tblquery.result)

我正在使用akka-http作为休息层,如下所示,

val route = 
path("stream"){
 get {
    complete { // how to stream from here  }
  }
}

如何使用此databasepublisher对象,转换(json)并将每一行流式传输到客户端。请帮忙。

1 个答案:

答案 0 :(得分:2)

我终于做了这样的事,不知道是否正确,

 complete {
       val source = Source(repository.getAsStream).map(a => ChunkStreamPart(a.asJson))
       HttpResponse(entity = HttpEntity.Chunked(MediaTypes.`application/json`, source))
         }