Ich versuche, jedem Datensatz in meiner Datenbank Links hinzuzufügen, da ich versuche, das HATEOAS-Konzept zu implementieren. Ich habe jedoch einige Probleme damit. Ich habe versucht, diesem Leitfaden https://spring.io/guides/gs/rest-hateoas/ zu folgen. Aber ohne Erfolg. Wie und wo sollte ich den Code zum Hinzufügen von Links schreiben? Denn es scheint nicht zu funktionieren, wenn ich versuche, es in meine Controller-Methode zu schreiben, weil withSelfRel() nicht definiert ist.Hinzufügen von Links zu jedem Datensatz mit Spring REST + MongoDB
Grundsätzlich versuche ich einen Link zu jedem Konto in meiner Datenbank hinzugefügt.
//Create account
@RequestMapping(value="/accounts", method = RequestMethod.POST)
public ResponseEntity<?> accountInsert(@RequestBody Account account) {
account = new Account(account.getFirstName(), account.getLastName(), account.getEmail(), account.getPassword(), account.getBirthDate(), account.getActivities(), account.getFriends());
accountRepository.save(account);
//account.add(linkTo(methodOn(AccountController.class, accountInsert(account)).withSelfRel())); /// HERE IS MY TRY
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setLocation(ServletUriComponentsBuilder.fromCurrentRequest().build().toUri());
return new ResponseEntity<>(null, httpHeaders, HttpStatus.CREATED);
}
Vielen Dank im Voraus!
verweise ich denke, Sie richtigen Code geschrieben haben, können Sie einfach hinzufügen url in '@ RequestMapping'. Welcher Fehler erhalten Sie –
"Die Methode withSelfrel() ist für den Typ AccountController undefiniert". Es erkennt die Methode nicht. Sind Sie sicher, dass der Code richtig ist? Weil ich denke, methodOn erfordert (Klasse, String) und ich habe eingefügt (Klasse, Konto), die ein Objekt ist. – BananaBackend