6
我在我的grails应用程序中有一个域类Person
,我需要根据上下文以不同形式(JSON)输出。Grails - 如何取消注册已注册的对象编组器
在一个情况下,我只需要呈现几个字段(比如ID和名称)。在另一种情况下,我想渲染更多(身份证,姓名,凭证,年龄等)。我想知道是否有可能在使用后立即注销特定的编组人员。
基本上我正在寻找的是这样的:
-------------------------------------------------------------
// context #1
JSON.registerObjectMarshaller(Person) {
... output just id and name
}
render myPerson as JSON
JSON.unregisterObjectMarshaller(Person) // how do i do this?
-------------------------------------------------------------
// context #2
JSON.registerObjectMarshaller(Person) {
... output all fields
}
render myPerson as JSON
JSON.unregisterObjectMarshaller(Person) // how do i do this?
-------------------------------------------------------------
注:我可以创建人2级空的子类,然后为每个注册的独立Marshallers。作为上下文的数量增加虚拟子类的数量也将上升。这是非常不洁的伊莫。
+1这是美丽的。而且很干净。谢谢。我会把它放进去,让你知道它是怎么回事。 – techfoobar
工作很好。谢谢。 :) – techfoobar
很高兴解决,有一个很好的。 –