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 a URI’s matrix parameters.

@javax.ws.rs.QueryParam

This annotation allows you to extract values from a URI’s 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, it finds a Java ...

Get RESTful Java with JAX-RS now with the O’Reilly learning platform.

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