2015-04-15 10 views
7

Używam zręczny 3.0 i posiada databasepublisher obiekt jakoAkka-http strumieniowe za pomocą Slick 3,0 Databasepublisher

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

używam Akka-http dla warstwy spoczynku następująco,

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

Jak można Używam tego obiektu bazy danych, aby przekształcić (json) i przesłać każdy wiersz do klienta. Proszę pomóż.

+0

chory wraca wydawca ReactiveStream. Jest to więc pytanie bardziej akka niż pytanie Slick. Po prostu dla FYI. – cvogt

Odpowiedz

2

I wreszcie robi coś takiego, nie wiem, czy jego odpowiedni sposób,

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