You are previewing RESTful Java with JAX-RS.

RESTful Java with JAX-RS

Cover of RESTful Java with JAX-RS by Bill Burke Published by O'Reilly Media, Inc.
O'Reilly logo

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 ...

The best content for your career. Discover unlimited learning on demand for around $1/day.