我正在使用域对象与Grails中的数据库进行接口。Grails域对象包括类属性
当我使用域对象上的list()方法从数据库中获取所有行时,除了一件事情以外,它的工作效果很好。每行返回的对象还包含一个名为“class”的属性。我已经阅读了一些关于创建自定义编组器的东西,它允许我从对象中移除该属性。这真的是不必返回类属性的最好方法吗?
谢谢!
我正在使用域对象与Grails中的数据库进行接口。Grails域对象包括类属性
当我使用域对象上的list()方法从数据库中获取所有行时,除了一件事情以外,它的工作效果很好。每行返回的对象还包含一个名为“class”的属性。我已经阅读了一些关于创建自定义编组器的东西,它允许我从对象中移除该属性。这真的是不必返回类属性的最好方法吗?
谢谢!
这里的改变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']
}
}
你也可以如下使用JSON.registerObjectMarshaller
:
// BootStrap.groovy
JSON.registerObjectMarshaller(YourDomain) {
it.properties.findAll { it.name != 'class' }
}
参考here一个类似的例子。
您是否正在实际数据库记录中看到该类,或者当您将它呈现为JSON时,您在说什么? – 2015-01-09 23:10:50