我有grails 3.1应用程序。
下面是自定义元素的代码,它使用JSON marshaller,它可以很好地工作。
<div id="test"></div>
但是,我已经尝试了上面的XML marshaller代码,但是它显示了整个对象属性,而不是必需的。下面是XML编组的代码。
JSON.createNamedConfig("memeListView", {
JSON.registerObjectMarshaller(Meme) { Meme memeIns ->
return [
caption: memeIns.caption,
likeCount: memeIns.likeCount,
]
}
})
在行动部分
XML.createNamedConfig("memeListView", {
XML.registerObjectMarshaller(Meme) { Meme memeIns ->
return [
caption: memeIns.caption,
likeCount: memeIns.likeCount,
]
}
})
请建议我,如何为xml响应进行编组。
答案 0 :(得分:1)
我想你必须返回一些XML-ish。我认为xml marshaller传递了第二个arg。
所以也许(从记忆中尝试这个):
XML.createNamedConfig("memeListView", {
it.registerObjectMarshaller(Meme) { Meme memeIns, xml ->
xml.build {
caption(memeIns.caption )
likeCount( memeIns.likeCount )
}
}
})
或
XML.createNamedConfig("memeListView", {
it.registerObjectMarshaller(Meme) { Meme memeIns, xml ->
xml.attribute 'caption', memeIns.caption
xml.attribute 'likeCount', memIns.likeCount
}
})
取决于您希望XML的外观?