Annotation Type ServerResponseFilter
-
@Retention(RUNTIME) @Target(METHOD) public @interface ServerResponseFilter
When used on a method, then an implementation ofContainerResponseContext
is generated that calls the annotated method with the proper arguments The idea behind using this is to make it much to write aServerResponseFilter
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 withServerRequestFilter
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
orUni<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, callingabortWith
is prohibited by the JAX-RS specification.
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description int
priority
The priority with which this response filter will be executed
-