spring mvc を使用する場合、
フロントエンド (ios/android) に渡す json データは spring によって Bean に変換されますよね。
これらの Bean はすべて Java クラスとして定義されていますか?
フロントエンドに必要な json は非常に柔軟だと思うので、バックエンドがいくつかの大きくて完全な Bean でカプセル化されている場合、フロントエンドには多くの無駄なフィールドが発生します。
(null 値またはデフォルト値を持つフィールドが json に表示されないようにシリアル化戦略を制御することはできますが、この方法ではフィールドが不完全になり、可読性が低下します。)
Bean を精製する場合、必要な Bean が多すぎます。
私たちのプロジェクトでは、基本的にマップを使用して必要なデータを構築します (主に jdbctemplate を使用し、クエリされたデータがマップ タイプであるため)。Bean クラスを定義する必要はありません。非常に柔軟ですが、多くの場合、Bean クラスを定義する必要はありません。キー名を手書きするのが面倒。
みんなはどうやって解決しましたか?ぜひアドバイスをお願いします、よろしくお願いします!
Spring WebMVC のコントローラーを直接使用し、@ResponseBody を追加して POJO を返します
これまではMapを使ってデータを結合していましたが、キー名の手書きは非常に面倒で間違いやすい、いわゆるマジックバリューなので極力避けるべきです。その後、各インターフェイスは Bean に対応しますが、その数は比較的多くなりますが、Bean を変更しても他のインターフェイスに影響を与えることはありません。これ以上にエレガントな解決策があるかどうかはわかりません。