Как получить перечислитель [T] из списка [T] при использовании Play 2 Iteratees
Я совсем новичок в Play 2 и пытаюсь использовать Iteratees.
Q1. Как я могу получить Enumerator[Person]
от List[Person]
?
Q2. Когда я пытаюсь передать Enumerator(Option[String])
в Ok.stream
Я получаю сообщение об ошибке на консоли
Невозможно записать экземпляр Option[String] в ответ HTTP. Попробуйте определить Writeable[Option[String]]
Может кто-нибудь указать мне правильное направление относительно того, как я могу определить Writeable для пользовательских типов в ответ HTTP?
Благодарю.
1 ответ
Решение
A1. Ты можешь использовать Enumerator#enumerate
запустить Iteratee для каждого Person
val persons: List[Person] = List(person0, person1)
Enumerator.enumerate(persons) |>>> Iteratee.foreach(println _)
A2. Вместо определения Writeable[Option[String]]
извлекать String
от Option[String]
Ok.stream(
Enumerator(Option("kiki"), Option("foo"), Option("bar")).map(_.get) >>> Enumerator.eof
)