ich wie eine Controller-Methode haben:Frühling Hateoas Deserialize Verbindungen in Payload zu tatsächlichen Entitäten
@RequestMapping(value = "/person", method = RequestMethod.POST)
public ResponseEntity<?> create(@RequestBody Person person) {
personRepository.save(person);
return new ResponseEntity<>(HttpStatus.OK);
}
Die Person Nutzlast ist (der Link verweist auf die uri der Abteilung):
{
"name": "Barack Obama",
"department": "http://localhost:8080/department/1"
}
I haben eine PersonResource
public class PersonResource {
String name;
}
Und ein ResourceAssembler
DepartmentController
@RestController
@RequestMapping("/department")
public class DepartmentController {
@RequestMapping("/{id}")
public ResponseEntity<DepartmentResource> getOne(@PathVariable("id") Long id) {
Department dep = departmentRepository.findOne(id);
DepartmentResource res = departmentResourceAssembler.toResource(res);
return new ResponseEntity<>(res, HttpStatus.OK);
}
}
Dieses in einem json führen würde wie:
{
"name": "Barack Obama",
"_links": {
"department": {
"href": "http://localhost:8080/department/1"
}
}
}
Nun zum Problem: Wenn ich das schaffen-Request mit der Nutzlast, Jackson oder Federauflage senden/HATEOAS kann die Links während der Deserialisierung nicht verarbeiten. Was muss ich konfigurieren/implementieren, damit dies funktioniert?
Danke!
Sie sind verantwortlich für das selbst. Sie können sich Spring Data REST ansehen. – zeroflagL