2015-04-15 6 views
7

Я использую скользкий 3.0 и имею databasepublisher объекта какАкка-HTTP потоковые с помощью Slick 3,0 Databasepublisher

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

Я использую Акку-клиент для отдыха слоя следующим образом,

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

Как Я использую этот объект базы данных, чтобы преобразовать (json) и передать каждую строку клиенту. Пожалуйста помоги.

+0

Sick Возвращает ReactiveStream издателя. Так что это скорее вопрос акки, чем вопрос Slick. Просто FYI. – cvogt

ответ

2

я, наконец, сделать что-то вроде этого, не знаю, является ли его правильно,

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