Spring Data RESTを使用する場合、このために特別に設計されたものがあります。 プロジェクションと抜粋の概念があります それを使用すると、何をどのように返すかを指定できます。
まず、必要なフィールドのみを含むインターフェイスを作成します。
@Projection(name="personSummary", types={Person.class})
public interface PersonSummary {
String getEmail();
String getId();
String getName();
}
次に、PersonRepository
これをデフォルトとして使用するように追加します(コレクションを返すメソッドにのみ適用されます!)。
@RepositoryRestResource(excerptProjection = PersonSummary.class)
public interface PersonRepository extends CrudRepository<Person, String> {}
次に、コレクションのクエリを実行すると、プロジェクションで指定されたフィールドのみが取得され、単一のインスタンスを取得すると、完全なオブジェクトが取得されます。