私は Ruby 出身で、Spring のテストを始めたばかりで、かなりいいと思います。
ただし、 rablJSON
などのライブラリを使用してレンダリングされた出力をカスタマイズできることに慣れていて、注釈を使用してモデルを返すだけのように、内部モデルを直接公開するのは本当に間違っていると感じています。JSON
@ResponseBody
rabl に似たライブラリに関するヒントjava/spring
はありJSON
ますか?
私は Ruby 出身で、Spring のテストを始めたばかりで、かなりいいと思います。
ただし、 rablJSON
などのライブラリを使用してレンダリングされた出力をカスタマイズできることに慣れていて、注釈を使用してモデルを返すだけのように、内部モデルを直接公開するのは本当に間違っていると感じています。JSON
@ResponseBody
rabl に似たライブラリに関するヒントjava/spring
はありJSON
ますか?
Spring は Jackson を使用して JSON (非) シリアル化を行います。Jackson wikiを見てください。JSON が生成または解釈される方法をカスタマイズするいくつかの方法について説明します。
あなたのコメントからわかるように、いくつかのカスタマイズを念頭に置いています。
@JsonProperty("name")
@JsonIgnore
ただし、これらはモデルに触れる必要があります。私の知る限り、少なくともモデルクラスを少し変更しない限り、それを達成する方法はありません。Jackson には「ビュー」の概念がありますが、それでもモデルに注釈を付ける必要があります。ちなみに、実際には、Java クラスに JPA アノテーションと Jackson アノテーションの両方が付けられているという問題を経験したことはありません。
最後に、モデルの 2 つのバージョンを作成することを検討できます。1 つはデータベース (または任意のデータ ソース) からのもので、もう 1 つはユーザー インターフェイスとの対話に使用されます。ただし、それにはトランスまたはコンバーターのレイオーバーが必要になります。それがオプションであるかどうかはあなた次第です。