1

我对 Play 2 很陌生,正在尝试 Iteratees。

Q1。我怎样才能得到一个Enumerator[Person]from List[Person]

Q2。当我尝试将一个传递Enumerator(Option[String])Ok.stream我时,我在控制台上收到一个错误,指出

无法将 Option[String] 的实例写入 HTTP 响应。尝试定义一个 Writeable[Option[String]]

有人可以指出我如何为自定义类型定义可写到 HTTP 响应的正确方向吗?

谢谢。

4

1 回答 1

3

A1。您可以使用Enumerator#enumerate为每个运行 IterateePerson

val persons: List[Person] = List(person0, person1)  
Enumerator.enumerate(persons) |>>> Iteratee.foreach(println _)

https://github.com/playframework/Play20/blob/2.1.0/framework/src/iteratees/src/test/scala/play/api/libs/iteratee/EnumeratorsSpec.scala#L74-L83

A2。而不是定义Writeable[Option[String]],提取StringOption[String]

Ok.stream(
   Enumerator(Option("kiki"), Option("foo"), Option("bar")).map(_.get) >>> Enumerator.eof
)
于 2013-02-13T08:49:17.510 回答