我正在尝试定义HttpService
接收json并将其解析为带有json4s
库的案例类:
import org.http4s._
import org.http4s.dsl._
import org.json4s._
import org.json4s.native.JsonMethods._
case class Request(firstName: String, secondName: String)
HttpService {
case req @ POST -> Root =>
val request = parse(<map req.body or req.bodyAsText to JsonInput>).extract[Request]
Ok()
}
我怎样才能org.json4s.JsonInput
从req.body
or得到req.bodyAsText
?
我知道json4s
也有StringInput
,StreamInput
并且继承自JsonInput
用于使用String
,InputStream
所以我认为我需要转换req.body
为InputStream
或req.bodyAsText
,String
但我仍然不明白如何。
我是 Scala 的新手,我还没有完全理解一些概念,例如scalaz.stream.Process
.