Когато използвате 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> {}
След това, когато правите заявка за колекция, ще получите само полетата, както е посочено в проекцията, а когато получите един екземпляр, ще получите пълния обект.