来自REST的Access Request对象

是否可以在JAX-RS下的REST方法中访问Request对象?

我刚刚发现

@Context Request request; 

在JAX-RS上,您必须使用@Context注释Request参数:

  @GET public Response foo(@Context Request request) { } 

您也可以选择注入:

  • UriInfo
  • HttpHeaders
  • SecurityContext的
  • HttpServletRequest的

为了详细说明@dfa对替代方案的回答,我发现这比在每个资源方法签名上指定变量更简单:

 public class MyResource { @Context private HttpServletRequest httpRequest; @GET public Response foo() { httpRequest.getContentType(); //or whatever else you want to do with it } }