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 ServerResponseFilter can declare any of the following parameters (in any order)
ContainerRequestContextContainerResponseContextResourceInfoUriInfoSimpleResourceInfoThrowable- The thrown exception - ornullif no exception was thrown
void or Uni<Void>.
voidshould 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
Optional ElementsModifier and TypeOptional ElementDescriptionintThe 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
-