我真的很难在 Play 2.5 中流式传输一个简单的字符串。所以,如果我想输出字符串“Hello”,我可以从这开始:
package controllers
import javax.inject.Inject
import play.api.mvc.{Action, Controller}
import akka.stream.scaladsl.Source
class Enum @Inject() extends Controller {
def index = Action {
Ok.chunked(Source("hello"))
}
}
但显然这不会编译。我已经阅读了Play documentation regarding streaming,我知道在之前的版本中Ok.chunked(Enumerator("hello"))
就是这样。不幸的是,Play's migration guide并没有向我澄清任何这一点。也许我在这个屏幕上看起来太长了。
答案 0 :(得分:1)
问题是Source("hello")
是Char
的来源,因为Source()
需要Seq
。
由于Char
不是Writeable
(在play.api.http.Writeable
意义上),因此您无法将Char
的来源提供给Ok.chunked
如果您只想发送一个String
元素,则应该Source.single("hello")