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:

com.sun.jersey.samples.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 using embedded GlassFish as follows:

run

mvn clean package embedded-glassfish:run

From a web browser, visit:

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

Notice how the first has a self link, a next link but no previous link, the second has all three and the third 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.