Lorsque vous utilisez Spring Data REST, il a quelque chose de spécialement conçu pour cela. Il y a la notion de Projections et extraits avec lui, vous pouvez spécifier quoi et comment vous voulez le retourner.
Vous devez d'abord créer une interface qui ne contiendrait que les champs que vous souhaitez.
@Projection(name="personSummary", types={Person.class})
public interface PersonSummary {
String getEmail();
String getId();
String getName();
}
Puis sur votre PersonRepository
ajoutez ceci comme valeur par défaut à utiliser (ne s'appliquera qu'aux méthodes renvoyant des collections !).
@RepositoryRestResource(excerptProjection = PersonSummary.class)
public interface PersonRepository extends CrudRepository<Person, String> {}
Ensuite, lorsque vous effectuez une requête pour une collection, vous n'obtiendrez que les champs spécifiés dans la projection et lors de l'obtention d'une seule instance, vous obtiendrez l'objet complet.