Declarative Hyperlinking Example

This example demonstrates how to use the declarative hyperlink annotations.

Contents

The example consists of one resource class and one representation class along with a couple of model classes:

org.glassfish.jersey.examples.linking.resources.ItemResource
A resource class that produces a XML response to an HTTP GET.
com.sun.jersey.samples.linking.representation.ItemRepresentation
A JAXB representation class used to produce XML. This class also contains @Link and @Ref annotations to produce hyperlinks in the XML document.

The mapping of the URI path space is presented in the following table:

URI path Resource class HTTP methods
/items/{index} ItemResource GET

Running the Example

Run the example as follows:

mvn clean compile exec:java

This deploys the example using Grizzly

From a web browser, visit:

http://localhost:8080/items/0
http://localhost:8080/items/1
http://localhost:8080/items/2
http://localhost:8080/items/3
http://localhost:8080/items/4

Notice how the first has a self link, a next link but no previous link, the second, third and fourth have all three and the last one only has a self link and prev link.

Observe the HTTP headers included in the responses (e.g. via curl -v). Notice that there is a HTTP Link header for next and previous when appropriate.