@JsonIgnorePropertiesクラス レベルの注釈として使用して、クラスのプロパティを無視できます。しかし、次の 2 つのクラスがあるとします。
class Client {
@JsonIgnoreProperties ("owner")
List<Vehicle> vehicles;
}
Class Vehicle {
@JsonIgnoreProperties ("vehicles")
Client owner;
}
これはうまくいくと思いました。しかしどうやら TheJsonIgnorePropertiesはリストでは機能しません。プロパティ ówner`をチェックするとjava.util.List思いますが、見つかりません。
私が欲しいのは、どのオブジェクトが最初に取得されるかに基づくフィルターです。が最初に取得された場合、所有者を表示しますが、そのクライアントが持っているVehicleは表示しません。が最初に取得されvehiclesた場合、各の所有者を表示しますが、表示しません。これは、終わりのない再帰を回避しすぎていました。ClientvehiclesVehicle
私の質問は、リスト内ownerのオブジェクトのプロパティを無視するにはどうすればよいですか?VehiclevehiclesClient
編集
@Kushanの回答を使用。
@JsonIgnoreProperties ("owner")
Class Vehicle {
Client owner;
}
これは常にowner情報を無視します。私が取得しようとしているのは、オブジェクトがあり、それを取得している場合Client、既にオブジェクトを持っているため、結果の情報はvehicles必要ありません。しかし、私が最初にオブジェクトを持っている場合、それが持つすべてのものを除いて、そのプロパティが必要になります。ownerVehicleClientVehicleownervehiclesClient