これまでは、ドメイン クラスのマーシャラーを Bootstrap に定義して登録していました。たとえば、Bootstrap に次のマーシャラーがあります。
JSON.registerObjectMarshaller(Level){Level it->
return ['name':it.name.encodeAsHTML(),
'message':it.message?it.message.encodeAsHTML():"",
'image':it.onImage,
'minPoints':it.minPoints
]
}
ここで、ドメイン クラスを国際化する必要があるため、フィールドを持つドメイン クラスになります: name_es、name_en ... (これは 1 つのアプローチであり、別のアプローチを考えていますが、この質問には影響しません)。言語ごとに異なるフィールドを持つようになったため、params で言語を受け取ると、マーシャリングされたオブジェクトを返したいのですが、要求された言語でのみ返されます。たとえば、lang='en' を受け取った場合、マーシャリングされたオブジェクトを name_en だけで返したいと思うでしょう。
使用するすべてのメソッドで明示的なリターンを行わなくても、どうすればこれを達成できますか?