Chapter 51. Getting and Using Context Information
Abstract
Context information includes detailed information about a resource's URI, the HTTP headers, and other details that are not readily available using the other injection annotations. Apache CXF provides special class that amalgamates the all possible context information into a single object.
51.1. Introduction to contexts
Context annotation
You specify that context information is to be injected into a field or a resource method parameter using the
javax.ws.rs.core.Context
annotation. Annotating a field or parameter of one of the context types will instruct the runtime to inject the appropriate context information into the annotated field or parameter.
Types of contexts
Table 51.1, “Context types” lists the types of context information that can be injected and the objects that support them.
Where context information can be used
Context information is available to the following parts of a JAX-RS application:
- resource classes
- resource methods
- entity providers
- exception mappers
Scope
All context information injected using the
@Context
annotation is specific to the current request. This is true in all cases including entity providers and exception mappers.
Adding contexts
The JAX-RS framework allows developers to extend the types of information that can be injected using the context mechanism. You add custom contexts by implementing a
Context<T>
object and registering it with the runtime.