我試圖定義HttpService
接收JSON並將其與json4s
庫解析到案例類:http4s - get請求體String或InputStream的
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()
}
我怎樣才能從req.body
或req.bodyAsText
org.json4s.JsonInput
?
我知道json4s
也有StringInput
和StreamInput
從JsonInput
繼承與String
和InputStream
使用,所以我想,我需要req.body
轉換爲InputStream
或req.bodyAsText
到String
,但我還是不明白如何。
我是新來的斯卡拉,我還沒有完全理解一些概念,如scalaz.stream.Process
。