【发布时间】:2014-09-30 13:26:24
【问题描述】:
我已经阅读了许多尝试并实现这一目标的方法,但我认为这会相当容易?
给定一个域类:
class DomainClassTest{
String foo
String bar
//add accessor
String getMessage() {
"Hello"
}
}
我想在 xml 和 json 响应中包含瞬态属性“消息”。
最简单的方法是什么?
我已阅读有关渲染器的文档; http://grails.org/doc/latest/guide/single.html#renderers
我尝试了以下方法:
DomainClassTestController.groovy:
class DomainClassTestController extends RestfulController<DomainClassTestController>{
static responseFormats = ['xml','json']
DomainClassTestController() {
super(DomainClassTest)
}
}
/conf/spring/resources.groovy
beans = {
xmlDomainClassTestRenderer(XmlRenderer, DomainClassTest) {
includes = ['message']
}
jsonDomainClassTestRenderer(JsonRenderer, DomainClassTest) {
includes = ['message']
}
}
很简单,但是 json/xml GET 请求返回空。
我很难相信没有不使用 ObjectMarshallers 或转换器的简单方法来修改响应?
【问题讨论】:
-
使用自定义 marshellers 是正确的方法。这就是您在 Grails 中为您的域类自定义 XML 和 JSON 响应的方式。
-
好吧……就是这样!谢谢(你的)信息。那我会看看定制的marshellers!
-
这应该是一个很好的资源,可以为您提供如何完成的示例,而且非常好:compiledammit.com/2012/08/16/…
标签: rest grails grails-orm