package demo; import org.springframework.hateoas.Link; import org.springframework.hateoas.Resource; import org.springframework.hateoas.ResourceProcessor; import org.springframework.stereotype.Component; import org.springframework.web.servlet.support.ServletUriComponentsBuilder; import org.springframework.web.util.UriComponents; @Component public class PersonResourceProcessor implements ResourceProcessor<Resource<Person>> { @Override public Resource<Person> process(Resource<Person> resource) { String id = Long.toString(resource.getContent().getId()); UriComponents uriComponents = ServletUriComponentsBuilder.fromCurrentContextPath() .path("/people/{id}/photo").buildAndExpand(id); String uri = uriComponents.toUriString(); resource.add(new Link(uri, "photo")); return resource; } }