El personalizado de marshallers esta bastante documentado:
Básicamente consiste en los siguientes pasos:
Definir un marshaller para una clase en el BootStrap.groovy, no se esta tan mal, pero que si necesitamos definir todo el dominio de una aplicación.
Una posible solución:
Custom JSON Marshalling in Grails, Done “Right”
En este blog crean los marshaller en archivos separados, luego en un mapa definen los beans, y en con la ayuda del spring inyectan y registran.
Lo cual parece demasiado.
Mi propuesta:
Clase gorda con marshaller:
Escaneo de las clases de dominio:
Conclusiones: