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, jakarta.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
| |