
![[8.5.5.6 or later]](../ng_v8556.gif)
This topic applies to WebSphere Application Server Liberty V8.5.5.9 and earlier. For the latest Liberty topics, see the WebSphere Application Server Liberty documentation.
Using JAX-RS 2.0 context objects to obtain more information about requests
Java API for RESTful Web Services (JAX-RS) 2.0 provides different types of context to application subclasses, root resource classes, and providers. You can use the @Context annotation to inject context objects such as HttpHeaders, UriInfo, HttpServletRequest into class field or method parameter in application subclasses, root resource classes, and providers.
About this task
You can use the following context objects that are available to providers (client and server),
resource classes (server only), and Application subclasses (server only):
Context object | Type | Description |
---|---|---|
Application | Class | The instance of the application-supplied Application subclass can be
injected into a class field or method parameter using the @Context annotation.
Access to the Application subclass instance allows configuration information to be centralized in
that class. Note: This Applicationsubclass cannot be injected into the
Application subclass itself since this would create a circular
dependency.
|
UriInfo | Interface | The UriInfo interface provides static and dynamic, per-request information, about the components of a request URI. |
HttpHeaders | Interface | The HttpHeaders interface provides access to request header information either in map form or via strongly typed convenience methods. |
Request | Interface | The Request interface allows a caller to determine the best matching representation variant and to evaluate whether the current state of the resource matches any preconditions in the request. |
SecurityContext | Interface | The SecurityContext interface provides access to information about the security context of the current request. |
Providers | Interface | The Providers interface allows for lookup of provider instances based on a set of search criteria. |
ResourceContext | Interface | The ResourceContext interface provides access to instantiation and initialization of resource or subresource classes in the default per-request scope. |
Configuration | Interface | Both the client and the server runtime configurations are available for injection via @Context. These configurations are available for injection in providers (client or server) and resource classes (server only). |