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);
    }

Copy to Clipboard Toggle word wrap
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();
   }
}
Copy to Clipboard Toggle word wrap
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.
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat