/ Published in: Groovy
                    
                                        
Expected Behaviour
==================
* Both classes should be rendered in the specified custom format when `store/book/list.json` is loaded.
* Order of how the marshallers are added should not matter.
* It should be possible to register more than one custom object marshallers.
Bug
===
* Only the first registered marshaller is picked up as expected.
* The second one is ignored and the default JSON generated by Grails is returned.
* The order of the calls to `registerObjectMarshaller` matters, such that if the Book marshaller is added first, that one works. However if the Author marshaller is first, that one works.
                ==================
* Both classes should be rendered in the specified custom format when `store/book/list.json` is loaded.
* Order of how the marshallers are added should not matter.
* It should be possible to register more than one custom object marshallers.
Bug
===
* Only the first registered marshaller is picked up as expected.
* The second one is ignored and the default JSON generated by Grails is returned.
* The order of the calls to `registerObjectMarshaller` matters, such that if the Book marshaller is added first, that one works. However if the Author marshaller is first, that one works.
                            
                                Expand |
                                Embed | Plain Text
                            
                        
                        Copy this code and paste it in your HTML
/* Book domain class */
int pages
String title
}
/* Author domain class */
class Author {
String name
Date birthDate
}
/* registering custom marshallers in Bootstrap.groovy */
import grails.converters.JSON
class BootStrap {
JSON.registerObjectMarshaller(Author){ author, json ->
json.build{
"class(author)"
id(author.id)
name(author.name)
info{
birthdate(year: birthday.year, month: birthday.month, day: birthday.day)
}
}
}
json.build{
"class(book)"
id(book.id)
info{
pages(book.pages)
}
}
}
}
}
/* code for output in controller */
withFormat{
json{
render authors as JSON
}
html{
}
}
}
Comments
 Subscribe to comments
                    Subscribe to comments
                
                