Grails域对象包括类属性

时间:2015-01-09 22:06:00

标签: grails gorm grails-domain-class

我使用域对象与Grails中的数据库进行交互。

当我在域对象上使用list()方法来获取数据库中的所有行时,除了一件事之外它的效果很好。为每一行返回的对象还包括一个名为" class"的属性。我已经阅读了一些关于创建自定义编组器的内容,这些编组器允许我从对象中删除该属性。这真的是不必返回类属性的最佳方法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

您也可以使用JSON.registerObjectMarshaller,如下所示:

// BootStrap.groovy
JSON.registerObjectMarshaller( YourDomain ) {
    it.properties.findAll { it.name != 'class' }
}

请参阅here以获取类似示例。

答案 1 :(得分:0)

这是一个更改Grails默认呈现JSON的方式的链接: http://grails.org/doc/2.4.4/guide/single.html#defaultRenderers

只需将“NameOfDomainClass”更改为要以不同方式呈现的类。在这种情况下,域类。

import grails.rest.render.json.*
beans = {
    bookRenderer(JsonRenderer, NameOfClass) {
        excludes = ['class']
    }
}