Wie wird eine externe Ressource (nicht durch ein Repository verwaltet) in der Stammliste der Ressourcen von Spring Data REST? Ich definierte einen Controller nach dem Muster in RestbucksWie fügt man Links zur Wurzelressource in Spring Data REST hinzu?
10
A
Antwort
14
Dies kann durch Implementierung ResourceProcessor<RepositoryLinksResource>
durchgeführt werden.
Code-Schnipsel Nach fügt hinzu: "/ others", um die Root-Verzeichnis
{
"rel": "others",
"href": "http://localhost:8080/api/others"
}
zu Ihrem Root-Verzeichnis
@Controller
@ExposesResourceFor(Other.class)
@RequestMapping("/others")
public class CustomRootController implements
ResourceProcessor<RepositoryLinksResource> {
@ResponseBody
@RequestMapping(method = RequestMethod.GET)
public ResponseEntity<Resources<Resource<Other>>> listEntities(
Pageable pageable) throws ResourceNotFoundException {
//... do what needs to be done
}
@Override
public RepositoryLinksResource process(RepositoryLinksResource resource) {
resource.add(ControllerLinkBuilder.linkTo(CustomRootController.class).withRel("others"));
return resource;
}
}
hinzufügen sollten Links
0
ich nach einer Antwort auf die gesucht haben gleiches Problem, aber der Schlüssel ist: Ich habe keinen Controller. Meine URL verweist auf etwas, das in einem Auth-Filter erstellt wurde. Was für mich funktionierte, ist eine RootController
zu erstellen, die keine Methoden hat, und verwenden Sie sie für den Aufbau von Links in der ResourceProcessor
Implementierung.
@RestController
@RequestMapping("/")
public class RootController {}
Dann wird die Verbindung mit dem leeren Controller eingefügt.
@Component
public class AuthLinkProcessor implements ResourceProcessor<RepositoryLinksResource> {
@Override
public RepositoryLinksResource process(RepositoryLinksResource resource) {
resource.add(
linkTo(RootController.class)
.slash("auth/login")
.withRel("auth-login"));
return resource;
}
}
Verwandte Themen
- 1. Wie fügt man Links zu Spring Data REST Projektionen hinzu?
- 2. Wie @EmbeddedId Wandler in Spring Data REST
- 3. Wie fügt man InputMethodService zur Aktivität hinzu?
- 4. Wie fügt man Zeichenketten zur Textdatei hinzu?
- 5. Spring-Data-Rest Validator
- 6. Spring Data IN-Klausel fügt zusätzliche Klammern hinzu
- 7. Wie fügt man clientseitige Validierungsfehler in Ember Data hinzu?
- 8. Spring Data Rest-Suchendpunkt
- 9. Wie fügt man dem text_field_tag das Attribut data-stripe hinzu?
- 10. Wie fügt man accessateType zur Unteransicht von tableviewcell hinzu
- 11. Wie fügt man Einträge in Application.conf zur Laufzeit hinzu?
- 12. Wie fügt man Ansichten zur Scroll-Ansicht in Android hinzu?
- 13. Wie fügt man Widget zur header.php in Wordpress hinzu?
- 14. jQuery fügt # zu allen internen Links hinzu
- 15. Spring Data Rest und Cors
- 16. Wie fügt man ApplicationContextInitializer einer Spring-Boot-Anwendung hinzu?
- 17. Wie macht man eine erweiterte Suche mit Spring Data REST?
- 18. Wie fügt man Delphi-Code zur Versionskontrolle hinzu?
- 19. Wie fügt man Brotkrume hinzu?
- 20. Wie fügt man angularMoment zur Rails-Manifestdatei hinzu?
- 21. Wie fügt man Video zur HTML-Seite hinzu?
- 22. Wie fügt man mehrere Filter zur Abfrage hinzu?
- 23. C# Wie fügt man contextMenuStrip zur Laufzeit hinzu?
- 24. Wie fügt man die Bildlaufleiste zur Webseite hinzu?
- 25. Wie fügt man Namespace zur Razor View Engine hinzu?
- 26. Mandril: Wie fügt man eine ics-Einladungsdatei zur Vorlage hinzu?
- 27. Google Liniendiagramm: Wie fügt man Einheiten hinzu?
- 28. Nested Projektionen in Spring Data Mit REST
- 29. Fügt keine Daten zur JSON-Datei hinzu
- 30. Spring Data Rest Bildbare Child Collection
Wie kann ich dies für eine nicht Controller-Verbindung tun? (Speziell möchte ich die Abmeldung der Spring Security hinzufügen) – xenoterracide
@xenoterracide vielleicht mit einem '@RequestMapping ("/logout ")' auf dem Controller und dann ein '@RequestMapping (method = RequestMethod.POST) public logout() {// do Logout} 'Methode. Was meinst du mit Nicht-Controller-Link? – aycanadal
@aycanadal Ich bin ziemlich zuversichtlich, dass ich das irgendwann herausgefunden habe, aber ich habe einen Filter, den ich verlinken muss, weil Federsicherheit – xenoterracide