Chapter 22. Examples for Chapter 9
In Chapter 9, you learned about many of the concepts of HATEOAS and how to use
JAX-RS to add these principles to your RESTful web services. In this
chapter, you’ll look through two different examples. The first shows you how
to introduce Atom links into your XML documents. The second uses Link
headers to publish state transitions within a
RESTful web service application.
Example ex09_1: Atom Links
This example is a slight modification of the ex06_1 example introduced in Chapter 19. This example expands the CustomerResource
RESTful web service so that a
client can fetch subsets of the customer database. If a client does a
GET
/customers
request in our RESTful application, it will receive a subset list of
customers in XML. Two Atom links are embedded in this document that allow
you to view the next or previous sets of customer data. Example output
would be:
<customers> <customer id="3"> ... </customer> <customer id="4"> ... </customer> <link rel="next" href="http://example.com/customers?start=5&size=2" type="application/xml"/> <link rel="previous" href="http://example.com/customers?start=1&size=2" type="application/xml"/> </customers>
The next
and previous
links are URLs pointing to the same
/customers
URL, but they contain URI
query parameters indexing into the customer database.
The Server Code
The first thing you want to look at is the extensions made to the
JAXB model. A new class Link
is added so that you can define Atom links and embed them within ...
Get RESTful Java with JAX-RS now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.