11

In Rest API design, I am wondering what the exact purpose of the context annotation is?

private HttpServletRequest request;

 @Context
 public void setRequest(final HttpServletRequest req) {
        request = req;
 }
Dave Newton
  • 158,873
  • 26
  • 254
  • 302
Adam Lee
  • 24,710
  • 51
  • 156
  • 236

2 Answers2

13

The purpose is to indicate that the request property should be set from the context.

@Context is used to inject various HTTP-ish contextual data, from here:

In general @Context can be used to obtain contextual Java types related to the request or response.

API docs (Not horribly useful IMO. Or, perhaps more accurately, horribly-useful.)

florian
  • 350
  • 1
  • 12
Dave Newton
  • 158,873
  • 26
  • 254
  • 302
1

This annotation is used to inject information into a class field, bean property or method parameter.

JAX-RS @Context to get the ServletContext, and WebApplicationContextUtils to get the Spring application context, with this Spring application context, you are able to access and get beans from Spring container

Rajkumar Singh
  • 1,557
  • 12
  • 5