När du använder Spring Data REST har den något speciellt designat för detta. Det finns idén om Projektioner och utdrag med den kan du specificera vad och hur du vill returnera den.
Först skulle du skapa ett gränssnitt som bara skulle innehålla de fält du vill ha.
@Projection(name="personSummary", types={Person.class})
public interface PersonSummary {
String getEmail();
String getId();
String getName();
}
Sedan på ditt PersonRepository
lägg till detta som standard att använda (kommer bara att gälla metoder som returnerar samlingar!).
@RepositoryRestResource(excerptProjection = PersonSummary.class)
public interface PersonRepository extends CrudRepository<Person, String> {}
När du sedan gör en fråga för en samling får du bara de fält som anges i projektionen och när du skaffar en enstaka instans får du hela objektet.