Chapter 5. JAX-RS Injection

A lot of JAX-RS is pulling information from an HTTP request and injecting it into a Java method. You may be interested in a fragment of the incoming URI. You might be interested in a URI query string value. The client might be sending critical HTTP headers or cookie values that your service needs to process the request. JAX-RS lets you grab this information à la carte, as you need it, through a set of injection annotations and APIs.

The Basics

There are a lot of different things JAX-RS annotations can inject. Here is a list of those provided by the specification:

@javax.ws.rs.PathParam
This annotation allows you to extract values from URI template parameters.
@javax.ws.rs.MatrixParam
This annotation allows you to extract values from URI matrix parameters.
@javax.ws.rs.QueryParam
This annotation allows you to extract values from URI query parameters.
@javax.ws.rs.FormParam
This annotation allows you to extract values from posted form data.
@javax.ws.rs.HeaderParam
This annotation allows you to extract values from HTTP request headers.
@javax.ws.rs.CookieParam
This annotation allows you to extract values from HTTP cookies set by the client.
@javax.ws.rs.core.Context
This class is the all-purpose injection annotation. It allows you to inject various helper and informational objects that are provided by the JAX-RS API.

Usually, these annotations are used on the parameters of a JAX-RS resource method. When the JAX-RS provider receives an HTTP request, ...

Get RESTful Java with JAX-RS 2.0, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.