@Retention(value=RUNTIME) @Target(value=METHOD) public @interface ServerResponseFilter
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
SimpleResourceInfo
Throwable
- The thrown exception - or null
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.Modifier and Type | Optional Element and Description |
---|---|
int |
priority
The priority with which this response filter will be executed
|
Copyright © 2021 JBoss by Red Hat. All rights reserved.