0

次の値オブジェクトを取得しました。

@XmlRootElement
public class Movie{
  public String name;
  public Date releaseDate;
  public List<Actors> actors;
}

そして私は次のサービスを受けました

@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Movie> moviesByYear(int year){
//return all movies by year
}

映画は、いくつかのORMフレームワークによってデータベースで検索されます。私の質問は次のとおりです。アクターリストを返さないように、応答をフィルタリングします(このフィールドは関連性がなく、応答が大きくなるため)。もちろん出来る

for(Movie movie: movies){
  movie.actors = null;
}

しかし、複数のフィールドを削除したい場合、これはすぐにエスカレートします。

4

2 に答える 2

1

応答にフィールドを含めたくない場合は、actorsフィールドに。で注釈を付けることができます@XmlTransient。詳細については、JavaDocを参照してください。

それ以外の場合はMovie、フィールドを公開しないラッパーオブジェクトにオブジェクトをラップすることができactorsます。

于 2012-07-31T09:16:20.270 に答える
0

サービスにそれを行うメソッドがない場合は、サービスコード自体を変更する必要があります。

于 2012-07-31T09:12:03.337 に答える