Bij gebruik van Spring Data REST heeft het hier iets speciaals voor ontworpen. Er is het idee van Projecties en uittreksels hiermee kun je aangeven wat en hoe je het wilt retourneren.
Eerst zou je een interface maken die alleen de velden bevat die je wilt.
@Projection(name="personSummary", types={Person.class})
public interface PersonSummary {
String getEmail();
String getId();
String getName();
}
Dan op je PersonRepository
voeg dit toe als standaard om te gebruiken (is alleen van toepassing op methoden die collecties retourneren!).
@RepositoryRestResource(excerptProjection = PersonSummary.class)
public interface PersonRepository extends CrudRepository<Person, String> {}
Wanneer u vervolgens een query voor een verzameling uitvoert, krijgt u alleen de velden zoals gespecificeerd in de projectie en wanneer u een enkele instantie verkrijgt, krijgt u het volledige object.