Podczas korzystania z Spring Data REST ma coś specjalnie do tego zaprojektowanego. Istnieje pojęcie Projekcje i fragmenty dzięki niemu możesz określić, co i jak chcesz zwrócić.
Najpierw utworzysz interfejs, który będzie zawierał tylko te pola, które chcesz.
@Projection(name="personSummary", types={Person.class})
public interface PersonSummary {
String getEmail();
String getId();
String getName();
}
Następnie w swoim PersonRepository
dodaj to jako domyślne do użycia (dotyczy tylko metod zwracających kolekcje!).
@RepositoryRestResource(excerptProjection = PersonSummary.class)
public interface PersonRepository extends CrudRepository<Person, String> {}
Następnie, wykonując zapytanie dla kolekcji, otrzymasz tylko pola określone w projekcji, a podczas uzyskiwania pojedynczej instancji otrzymasz pełny obiekt.