在Spray POST路由中将原始JSON提取为字符串
我有一个POST-Spray路由,请求包含一个JSON主体(内容类型为“application/JSON”)。我想要一种在我的路由中从这个请求中提取原始JSON的方法 因为我想将帖子正文提取为在Spray POST路由中将原始JSON提取为字符串,json,scala,rest,post,spray,Json,Scala,Rest,Post,Spray,我有一个POST-Spray路由,请求包含一个JSON主体(内容类型为“application/JSON”)。我想要一种在我的路由中从这个请求中提取原始JSON的方法 因为我想将帖子正文提取为TextMsgResponse。但对于我来说,我想将帖子正文提取为原始Json(例如,{“name”:“Jack”,“age”:30} val myRoute = path("somepath" / Segment) { pathSegment => post { //use only POST
TextMsgResponse
。但对于我来说,我想将帖子正文提取为原始Json(例如,{“name”:“Jack”,“age”:30}
val myRoute = path("somepath" / Segment) { pathSegment =>
post { //use only POST requests
pathSegment match {
case "value1" =>
entity(as[TextMsgResponse]) { textMsg =>
complete {
//do something with the request
StatusCodes.OK
}
}
case "value2" => {
//here is I want to extract the RAW JSON from the request
}
}
}
您可以将该指令用作
def rawJson = extract { _.request.entity.asString}
.
.
.
case "value2" => rawJson{ json =>// use the json
}
您是否尝试过
实体(作为[Array[Byte]])
或实体(作为[String])
?是的,两者都不起作用。