Implementing hypermedia-driven REST APIs
In this section, we're going to take a look at how you can traverse REST resources using hypermedia (with links and URIs). We'll see how to use JSON-P to construct hypermedia enabled JSON structures. We'll use the @Context
and UriInfo
objects to construct resource URIs programmatically. We will also have a look at how to set link headers with URIs on the HTTP response.
Let's get started and switch to our IDE. We will prepare a resource, and this resource will be serving books and authors; both are individual REST resources. Obviously, books are written by authors, so we should be able to navigate from books to the authors and vice versa. This is what we can use hypermedia for.
Navigate to our book resource. In here, we have the method to serve a specific book. First up, we'll obtain the book and then we can construct the URI for this book. createBookResourceUri
is the URI to use to reference this book:
@GET @Path("/{isbn}") public...