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

S.K*_*hik 7 scala akka slick akka-stream akka-http

我使用的是光滑的3.0并且有一个databasepublisher对象

def getAsStream = db.stream[Entity](tblquery.result)
Run Code Online (Sandbox Code Playgroud)

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

val route = 
path("stream"){
 get {
    complete { // how to stream from here  }
  }
}
Run Code Online (Sandbox Code Playgroud)

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

S.K*_*hik 2

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

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