Når du bruger Spring Data REST, har den noget specielt designet til dette. Der er forestillingen om Projektioner og uddrag med den kan du angive, hvad og hvordan du vil returnere den.
Først ville du oprette en grænseflade, som kun ville indeholde de felter, du ønsker.
@Projection(name="personSummary", types={Person.class})
public interface PersonSummary {
String getEmail();
String getId();
String getName();
}
Derefter på dit PersonRepository
tilføje dette som standard til brug (gælder kun for metoder, der returnerer samlinger!).
@RepositoryRestResource(excerptProjection = PersonSummary.class)
public interface PersonRepository extends CrudRepository<Person, String> {}
Når du så laver en forespørgsel til en samling, vil du kun få felterne som specificeret i projektionen, og når du får en enkelt instans, får du det fulde objekt.