0

I have a requirement that a few QueryParams should be present in absolutely all JAX-RS endpoints of my application.

Is there a way to specify somewhere, only once, these parameters? Or do I have to repeat myself in all method endpoints?

Thank you!

amihaiemil
  • 623
  • 8
  • 19

1 Answers1

0

I would implement a ContainerRequestFilter and handle the parameters there. You can add the result to the ContainerRequestContext:

@Provider
public class MyFilter implements ContainerRequestFilter {

  @Override
  public void filter(ContainerRequestContext requestContext) throws IOException {
    Object result = // handle the parameter
    requestContext.setProperty("myParam", result);
  }

}

Your implementation will of course depend on your needs.

You can inject the context into your resource classes like:

@Context
private ContainerRequestContext containerRequestContext;

See also:

Jasper de Vries
  • 19,370
  • 6
  • 64
  • 102