【发布时间】:2015-12-29 03:54:37
【问题描述】:
我收到一个以 xml 作为正文的请求,问题是我必须读取正文中的原始字符串。 这是因为我必须读取 xml 标头中的一些 cmets 来检测文档的类型。
根据播放框架documentation,您必须告诉播放框架将请求正文解析为 xml
def sayHello = Action { request =>
request.body.asXml.map { xml =>
(xml \\ "name" headOption).map(_.text).map { name =>
Ok("Hello " + name)
}.getOrElse {
BadRequest("Missing parameter [name]")
}
}.getOrElse {
BadRequest("Expecting Xml data")
}
}
但是,如果我尝试打印 xml.toString,我不会得到带有 cmets 的原始 xml,因为它们在主 xml 元素之外。
我也尝试过使用request.body.asText,但它会检查Content-Type 标头,因为它是application/xml,所以它不会返回字符串而是返回None
如何将请求的原始正文提取为字符串?
【问题讨论】:
标签: xml scala playframework