MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Nur bestimmte Felder anzeigen, wenn ein bestimmtes Element mit Spring Data angezeigt wird?

Bei der Verwendung von Spring Data REST gibt es etwas, das speziell dafür entwickelt wurde. Es gibt den Begriff der Projektionen und Auszüge Damit können Sie angeben, was und wie Sie es zurückgeben möchten.

Zuerst würden Sie eine Schnittstelle erstellen, die nur die gewünschten Felder enthält.

@Projection(name="personSummary", types={Person.class})
public interface PersonSummary {
    String getEmail();
    String getId();
    String getName();
}

Dann auf Ihrem PersonRepository fügen Sie dies als Standard hinzu (gilt nur für Methoden, die Sammlungen zurückgeben!).

@RepositoryRestResource(excerptProjection = PersonSummary.class)
public interface PersonRepository extends CrudRepository<Person, String> {}

Wenn Sie dann eine Abfrage für eine Sammlung durchführen, erhalten Sie nur die Felder, die in der Projektion angegeben sind, und wenn Sie eine einzelne Instanz erhalten, erhalten Sie das vollständige Objekt.