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
很高興解決,有一個很好的。 –