xx
29.3.1.1 To Create a RESTful Web Service Using NetBeans IDE.................................... 29-15
29.3.2 The rsvp Example Application..................................................................................... 29-16
29.3.2.1 Components of the rsvp Example Application................................................... 29-16
29.3.2.2 Running the rsvp Example Application............................................................... 29-17
29.3.3 Real-World Examples..................................................................................................... 29-18
29.4 Further Information about JAX-RS...................................................................................... 29-18
30 Accessing REST Resources with the JAX-RS Client API
30.1 Overview of the Client API .................................................................................................... 30-1
30.1.1 Creating a Basic Client Request using the Client API................................................. 30-1
30.1.1.1 Obtaining the Client Instance .................................................................................. 30-2
30.1.1.2 Setting the Client Target........................................................................................... 30-2
30.1.1.3 Setting Path Parameters in Targets......................................................................... 30-2
30.1.1.4 Invoking the Request ................................................................................................ 30-3
30.2 Using the Client API in the JAX-RS Example Applications .............................................. 30-4
30.2.1 The Client API in the
rsvp
Example Application ........................................................ 30-4
30.2.2 The Client API in the
customer
Example Application................................................ 30-5
30.3 Advanced Features of the Client API ................................................................................... 30-6
30.3.1 Configuring the Client Request...................................................................................... 30-7
30.3.1.1 Setting Message Headers in the Client Request.................................................... 30-7
30.3.1.2 Setting Cookies in the Client Request..................................................................... 30-7
30.3.1.3 Adding Filters to the Client...................................................................................... 30-8
30.3.2 Asynchronous Invocations in the Client API ............................................................... 30-9
30.3.2.1 Using Custom Callbacks in Asynchronous Invocations...................................... 30-9
31 JAX-RS: Advanced Topics and Example
31.1 Annotations for Field and Bean Properties of Resource Classes ...................................... 31-1
31.1.1 Extracting Path Parameters............................................................................................. 31-2
31.1.2 Extracting Query Parameters.......................................................................................... 31-2
31.1.3 Extracting Form Data....................................................................................................... 31-3
31.1.4 Extracting the Java Type of a Request or Response..................................................... 31-3
31.2 Validating Resource Data with Bean Validation................................................................. 31-4
31.2.1 Using Constraint Annotations on Resource Methods................................................. 31-4
31.2.2 Validating Entity Data ..................................................................................................... 31-5
31.2.3 Validation Exception Handling and Response Codes ................................................ 31-6
31.3 Subresources and Runtime Resource Resolution................................................................ 31-7
31.3.1 Subresource Methods....................................................................................................... 31-7
31.3.2 Subresource Locators ....................................................................................................... 31-7
31.4 Integrating JAX-RS with EJB Technology and CDI ............................................................ 31-8
31.5 Conditional HTTP Requests................................................................................................... 31-9
31.6 Runtime Content Negotiation.............................................................................................. 31-10
31.7 Using JAX-RS With JAXB ..................................................................................................... 31-11
31.7.1 Using Java Objects to Model Your Data...................................................................... 31-13
31.7.2 Starting from an Existing XML Schema Definition ................................................... 31-14
31.7.3 Using JSON with JAX-RS and JAXB ............................................................................ 31-16
31.8 The customer Example Application.................................................................................... 31-17
31.8.1 Overview of the customer Example Application....................................................... 31-17