2015-01-09 4 views
0

Я использую объект домена для взаимодействия с базой данных в Grails.Объект домена Grails включает атрибут класса

Когда я использую метод list() для объекта домена, чтобы получить все строки из базы данных, он отлично работает, за исключением одной вещи. Объект, возвращаемый для каждой строки, также включает атрибут «класс». Я читал некоторые вещи о создании настраиваемого маршаллера, который позволил бы мне удалить этот атрибут из объекта. Это действительно лучший способ не вернуть атрибут класса?

Спасибо!

+0

Вы видите класс в реальной записи базы данных или говорите о том, когда вы представляете его как JSON? –

ответ

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'] 
    } 
} 
0

Вы также можете использовать JSON.registerObjectMarshaller, как показано ниже:

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

См here для подобного примера.

 Смежные вопросы

  • Нет связанных вопросов^_^