ich die RepositoryEntityLinks Klasse verwenden möchten, um den Link zu einer Ressource an verschiedenen Orten in meinem Code zu erhalten gemäss Abschnitt 12.1 des aktuellen Spring Data Rast HandbuchMit Spring Data Erholung RepositoryEntityLinks außerhalb des Controllers
12.1. Programmatic Links Sometimes you need to add links to exported resources in your own custom built Spring MVC controllers. There are three basic levels of linking available:
...
3 Using Spring Data REST’s implementation of RepositoryEntityLinks.
http://docs.spring.io/spring-data/rest/docs/current/reference/html/#_programmatic_links
Ich beachte, dass die Dokumentation explizit auf "... Ihre eigenen benutzerdefinierten Spring MVC Controller" verweist und es scheint, dass dies der einzige Ort ist, an dem es verfügbar ist. Ich mag die konfigurierte Instanz in einem Spring Security AuthenticationSuccessHandler verwende jedoch die Anwendung mit dem Fehler nicht anspringt:
Keine Warte Bohnen vom Typ [org.springframework.data.rest.webmvc.support.RepositoryEntityLinks] gefunden
Ich konnte es erfolgreich in einen Controller injizieren wie erwartet.
Kann ich die RepositoryEntityLinks-Klasse außerhalb eines Spring MVC Controllers verwenden?
public class RestAuthenticationSuccessHandler implements AuthenticationSuccessHandler
{
@Autowired
private RepositoryEntityLinks entityLinks;
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
Authentication authentication) throws IOException, ServletException
{
//do something with entityLinks
}
}