【发布时间】:2012-02-01 22:35:50
【问题描述】:
我正在玩弄构建一个简单的应用程序来让我的脚湿透 Play! 2.0。我希望能够以 XML(实际上是 ATOM 提要)和 JSON 的形式提供我的资源。我知道如何在 1.2.x 中做到这一点,但这种方式似乎不适用于 2.0。有谁知道该怎么做?示例将不胜感激。
【问题讨论】:
标签: xml json scala playframework playframework-2.0
我正在玩弄构建一个简单的应用程序来让我的脚湿透 Play! 2.0。我希望能够以 XML(实际上是 ATOM 提要)和 JSON 的形式提供我的资源。我知道如何在 1.2.x 中做到这一点,但这种方式似乎不适用于 2.0。有谁知道该怎么做?示例将不胜感激。
【问题讨论】:
标签: xml json scala playframework playframework-2.0
对于 JSON,我建议你看看这个问题 How to render JSON response in Play framework v2.0 (latest build from GIT)
XML 要简单得多,因为您可以使用如下代码调用 return 结果:
Ok(Xml(xmlString))
但更简洁的方法是,使用此功能可能是在views/xml 下编写自己的模板,例如mdo.scala.xml 可能是
@(mdo:MyDomainObject)
<?xml version="1.0" encoding="utf-8"?>
<MyDomainObject>
<name>@mdo.name</name>
<desc>@mdo.desc</desc>
<kws>
@mdo.keywords map { k=>
<kw>k</kw>
}
</kws>
</MyDomainObject>
然后在你的控制器中
def c = Action {
val o = MyDomainObject("mine", "for example", List("stack", "over", "flow"))
Ok(views.xml.mdo(o))
}
否则,在编组库的帮助下,您可能拥有与 toJson 类似的 toXml 函数
【讨论】:
@(posts: Seq[Post])<?xml version="1.0" encoding="utf-8"?>。如果你不这样做,你的第一行就不会像它应该的那样是一个 xml 声明。漏洞?大概吧。