Java Reference
In-Depth Information
public
public URI getPrevious ()
{
iif ( links == null
null ) return
return null
null ;
for
for ( Link link : links )
{
iif ( "previous" . equals ( link . getRel ())) return
return link . getUri ();
}
return
return null
null ;
}
}
There is no nice way to define a map in JAXB, so all the Atom links are stuffed within a col-
lection property in Customers . The convenience methods getPrevious() and getNext()
iterate through this collection to find the next and previous Atom links embedded within
the document if they exist.
The final difference from the ex06_1 example is the implementation of GET /customers
handling:
src/main/java/com/restfully/shop/services/CustomerResource.java
@Path ( "/customers" )
public
public class
class CustomerResource
CustomerResource
{
@GET
@Produces ( "application/xml" )
@Formatted
public
public Customers getCustomers ( @QueryParam ( "start" ) int
int start ,
@QueryParam ( "size" ) @DefaultValue ( "2" ) int
int size ,
@Context UriInfo uriInfo )
{
The @org.jboss.resteasy.annotations.providers.jaxb.Formatted annotation is a
RESTEasy-specific plug-in that formats the XML output returned to the client to include in-
dentations and new lines so that the text is easier to read.
The query parameters for the getCustomers() method, start and size , are optional. They
represent an index into the customer database and how many customers you want returned
by the invocation. The @DefaultValue annotation is used to define a default page size of 2.
The UriInfo instance injected with @Context is used to build the URLs that define next
and previous link relationships.
Search WWH ::




Custom Search