/** * Define links to add to every {@link Resource}. * * @param resource */ @Override protected void addLinks(Resource<Employee> resource) { /** * Add some custom links to the default ones provided. * * NOTE: To replace default links, don't invoke {@literal super.addLinks()}. */ super.addLinks(resource); resource.getContent().getId() .ifPresent(id -> { // Add additional links resource.add(linkTo(methodOn(ManagerController.class).findManager(id)).withRel("manager")); resource.add(linkTo(methodOn(EmployeeController.class).findDetailedEmployee(id)).withRel("detailed")); // Maintain a legacy link to support older clients not yet adjusted to the switch from "supervisor" to "manager". resource.add(linkTo(methodOn(SupervisorController.class).findOne(id)).withRel("supervisor")); }); }