In addition to defining @HeaderParam, @PathParam, and @QueryParam individually in each resource method, they can be injected dependently on the constructor and stored in the members of the resource class (if the resource class is not a Singleton).
However, body (entity) and @FormParam (reference body) cannot be injected into the constructor and must be received as an argument of the resource method.
class Resource {
    Resource(@PathParam("path") String pathParam) { ... }
}
In order to refer to HTTP request information (HTTP method, path, query parameter, header, stream format body) that is close to raw in the resource method, it is easy to use HttpServletRequest by dependency injection.
class Resource {
	@Inject
	private HttpServletRequest request;
}
However, this method depends on the Servlet container, so to manage with the JAX-RS API, do as follows.
class Resource {
  @Context Request request;
  @Context UriInfo uriInfo;
  @Context HttpHeaders httpHeaders;
  public Response post(InputStream body) {
    //HTTP method
    request.getMethod();
    //path
    uriInfo.getPath();
    //Query parameters
    uriInfo.getQueryParameters();
    //header
    httpHeaders.getRequestHeaders();
    //Body (InputStream)
    body;
    ...
  }
}