よく定義されたベストプラクティスを備えた標準的な質問のように感じますが、何らかの理由でそれらを見つけることができませんでした:)。
REST API サーバー (JSON オブジェクトを返す Spark) アーキテクチャがあります。現在、クライアントがリソースを要求するたびに、そのオブジェクトとそれが保持するすべてのオブジェクトをシリアル化します。リクエストに基づいてペイロードを最適化したいと思います。つまり、UI が必要とするフィールドのみをシリアル化します。
例えば:
<GET> /users/<userId> - return all the user with Address object
<GET> /users - return all the users with out the Address (just the top level)
<GET> /transactions/<businessId> - returns all the transactions with User object that contains only the userId and the user name.
フィールドを次のようにマークすることはよく知っていますtransient
が、これよりもきめ細かいものを探しています。
私が念頭に置いていたオプションの 1 つは、すべての呼び出しにcom.google.gson.TypeAdapterを使用することでしたが、それを行うためのより良い方法があることを望んでいました。