【问题标题】:Grails Domain Object Includes Class AttributeGrails 域对象包括类属性
【发布时间】:2015-01-09 22:06:00
【问题描述】:

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

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

谢谢!

【问题讨论】:

  • 您是在实际的数据库记录中看到该类还是在谈论将其呈现为 JSON 时?

标签: grails grails-orm grails-domain-class


【解决方案1】:

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

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

请参阅here 了解类似示例。

【讨论】:

    【解决方案2】:

    这里有一个链接可以改变 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']
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      相关资源
      最近更新 更多