@GetMapping("/") ResponseEntity<ResourceSupport> root() { ResourceSupport resourceSupport = new ResourceSupport(); resourceSupport.add(linkTo(methodOn(RootController.class).root()).withSelfRel()); resourceSupport.add(linkTo(methodOn(EmployeeController.class).findAll()).withRel("employees")); resourceSupport.add(linkTo(methodOn(EmployeeController.class).findAllDetailedEmployees()).withRel("detailedEmployees")); resourceSupport.add(linkTo(methodOn(ManagerController.class).findAll()).withRel("managers")); return ResponseEntity.ok(resourceSupport); }
/** * Retain default links for the entire collection, but add extra custom links for the {@link Manager} collection. * * @param resources */ @Override protected void addLinks(Resources<Resource<Manager>> resources) { super.addLinks(resources); resources.add(linkTo(methodOn(EmployeeController.class).findAll()).withRel("employees")); resources.add(linkTo(methodOn(EmployeeController.class).findAllDetailedEmployees()).withRel("detailedEmployees")); resources.add(linkTo(methodOn(RootController.class).root()).withRel("root")); } }
/** * Define links to add to {@link Resources} collection. * * @param resources */ @Override protected void addLinks(Resources<Resource<Employee>> resources) { super.addLinks(resources); resources.add(linkTo(methodOn(EmployeeController.class).findAllDetailedEmployees()).withRel("detailedEmployees")); resources.add(linkTo(methodOn(ManagerController.class).findAll()).withRel("managers")); resources.add(linkTo(methodOn(RootController.class).root()).withRel("root")); } }
/** * Define links to add to every individual {@link Resource}. * * @param resource */ @Override protected void addLinks(Resource<EmployeeWithManager> resource) { resource.add(linkTo(methodOn(EmployeeController.class).findDetailedEmployee(resource.getContent().getId())).withSelfRel()); resource.add(linkTo(methodOn(EmployeeController.class).findOne(resource.getContent().getId())).withRel("summary")); resource.add(linkTo(methodOn(EmployeeController.class).findAllDetailedEmployees()).withRel("detailedEmployees")); }
/** * Define links to add to the {@link Resources} collection. * * @param resources */ @Override protected void addLinks(Resources<Resource<EmployeeWithManager>> resources) { resources.add(linkTo(methodOn(EmployeeController.class).findAllDetailedEmployees()).withSelfRel()); resources.add(linkTo(methodOn(EmployeeController.class).findAll()).withRel("employees")); resources.add(linkTo(methodOn(ManagerController.class).findAll()).withRel("managers")); resources.add(linkTo(methodOn(RootController.class).root()).withRel("root")); } }