Al usar Spring Data REST tiene algo especialmente diseñado para esto. Existe la noción de Proyecciones y Extractos con él puedes especificar qué y cómo quieres devolverlo.
Primero, crearía una interfaz que contendría solo los campos que desea.
@Projection(name="personSummary", types={Person.class})
public interface PersonSummary {
String getEmail();
String getId();
String getName();
}
Luego en tu PersonRepository
agregue esto como el uso predeterminado (¡solo se aplicará a los métodos que devuelven colecciones!).
@RepositoryRestResource(excerptProjection = PersonSummary.class)
public interface PersonRepository extends CrudRepository<Person, String> {}
Luego, al realizar una consulta de una colección, solo obtendrá los campos especificados en la proyección y, al obtener una sola instancia, obtendrá el objeto completo.