Annotation Interface ServerResponseFilter
When used on a method, then an implementation of
ContainerResponseContext
is generated
that calls the annotated method with the proper arguments
The idea behind using this is to make it much to write a ServerResponseFilter
as all the necessary information
is passed as arguments to the method instead of forcing the author to use a mix of @Context
and programmatic CDI
look-ups.
An example filter could look like this:
public class CustomContainerResponseFilter { private final SomeBean someBean; // SomeBean will be automatically injected by CDI as long as SomeBean is a bean itself public CustomContainerResponseFilter(SomeBean someBean) { this.someBean = someBean; } @ServerResponseFilter public void whatever(SimplifiedResourceInfo resourceInfo) { // do something } }Methods annotated with
ServerRequestFilter
can declare any of the following parameters (in any order)
ContainerRequestContext
ContainerResponseContext
ResourceInfo
UriInfo
SimpleResourceInfo
Throwable
- The thrown exception - ornull
if no exception was thrown
void
or Uni<Void>
.
void
should be used when filtering does not need to perform any blocking operations.Uni<Void>
should be used when filtering needs to perform a blocking operations.
ContainerRequestContext
is used as a request parameter, calling
abortWith
is prohibited by the JAX-RS specification.-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionint
The priority with which this response filter will be executed
-
Element Details
-
priority
int priorityThe priority with which this response filter will be executed- Default:
- 5000
-