By default, i.e. if no name binding is applied
to the filter implementation class, the filter instance is applied globally,
however only after the incoming request has been matched to a particular resource
by JAX-RS runtime.
If there is a @NameBinding annotation
applied to the filter, the filter will also be executed at the post-match
request extension point, but only in case the matched resource or sub-resource method is bound to the same name-binding annotation.
In case the filter should be applied at the pre-match extension point,
i.e. before any request matching has been performed by JAX-RS runtime, the
filter MUST be annotated with a @PreMatching annotation.
Use a pre-match request filter to update the input to the JAX-RS matching algorithm, e.g., the HTTP method, Accept header, return cached responses etc. Otherwise, the use of a request filter invoked at the post-match request extension point (after a successful resource method matching) is recommended.
Filters implementing this interface must be annotated with
@Provider to be discovered by the JAX-RS
runtime. Container request filter instances may also be discovered and
bound dynamically to particular resource methods.
PreMatching, javax.ws.rs.container.ContainerResponseFilter
| Modifier and Type | Method and Description |
|---|---|
| public void | filter(ContainerRequestContext
request context. requestContext)Filter method called before a request has been dispatched to a resource. |
| filter | back to summary |
|---|---|
| public void filter(ContainerRequestContext requestContext) throws IOException Filter method called before a request has been dispatched to a resource.
Filters in the filter chain are ordered according to their
| |