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 books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.