Wenn ich eine Repository-Einrichtung wie die folgende habe, die Spring Data REST nutzt, kann ich auf die Daten unter / receipts zugreifen und alle Daten sehen. Ich möchte jedoch nur Daten für den Benutzer zurückgeben. Ich habe einen benutzerdefinierten Finder "findByStorer", der dies tun würde. Wie würde ich Spring Data REST dazu bringen, dies zu verwenden und den storer-Wert vom Benutzer zu erhalten, anstatt einen Abfrageparameter anzugeben?
%Vor%Ich habe noch keine Sicherheit implementiert, daher ist diese Frage im Moment eher Theorie als Übung.
Danke.
Aufbauend auf @ rprs Antwort:
Sie sollten in der Lage sein, Eigenschaften der verbundenen Entität (Storer) zu referenzieren. In Ihrem Beispiel, wenn Sie Empfang haben - & gt; Speicher - & gt; Benutzer können die Quittungen abfragen, bei denen Storer.user einen Wert aus dem Sicherheitskontext hat.
%Vor% Wenn Sie beispielsweise Repository
für SomeEntity
angeben, können Sie findAll
method mit einem benutzerdefinierten @Query
filter nach Attribut owner
mit dem Wert von '# {principal.username}
Dieses Problem ist eine typische Querschnittsthema, also habe ich versucht, AOP anzuwenden. Definieren Sie Ratschläge und aktualisieren Sie die Argumente (String storer), wie unter Ссылка
erläutert %Vor%Tags und Links spring rest spring-mvc