Search code examples
grailsgrails-ormgrails-domain-class

Grails Domain Object Includes Class Attribute


I'm using a domain object to interface with a database in Grails.

When I use the list() method on a domain object to get all of the rows from a database it works great except for one thing. The object that comes back for each row also includes an attribute called "class". I've read some things about creating a custom marshaller that would allow me to remove that attribute from the object. Is that really the best way to not have to return the class attribute?

Thanks!


Solution

  • Here's a link to change the way Grails renders JSON by default: http://grails.org/doc/2.4.4/guide/single.html#defaultRenderers

    Just change "NameOfDomainClass" to the class you want to render differently. In this case, the Domain Class.

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