Este contenido no está disponible en el idioma seleccionado.
28.5. Binding Interceptors
By default, any registered interceptor will be invoked for every request. You can alter this by having your interceptors implement the
org.jboss.resteasy.spi.AcceptedByMethod interface:
public interface AcceptedByMethod
{
public boolean accept(Class declaring, Method method);
}
If your interceptor implements this interface, RESTEasy invokes the
accept() method. If this method returns true, RESTEasy adds that interceptor to the JAX-RS method's call chain. If it returns false, the interceptor will not be added to the call chain. For example:
@Provider
@ServerInterceptor
public class MyHeaderDecorator implements MessageBodyWriterInterceptor, AcceptedByMethod {
public boolean accept(Class declaring, Method method) {
return method.isAnnotationPresent(GET.class);
}
public void write(MessageBodyWriterContext context) throws IOException, WebApplicationException
{
context.getHeaders().add("My-Header", "custom");
context.proceed();
}
}
In this example, the
accept() method checks whether the @GET annotation exists in the JAX-RS method. If it does, the interceptor will be applied to that method's call chain.