Для JSON я бы порекомендовал вам посмотреть на этот вопрос Как отобразить ответ JSON в Play framework v2.0 (последняя сборка из 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))
}
В противном случае вы можете использовать функцию toXml, аналогичную toJson, с помощью библиотеки маршалинга