1

これまでは、ドメイン クラスのマーシャラーを 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 だけで返したいと思うでしょう。

使用するすべてのメソッドで明示的なリターンを行わなくても、どうすればこれを達成できますか?

4

0 に答える 0