来自REST的Access Request对象

qno*_*oid 24 java web-services

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

我刚刚发现

@Context Request request;
Run Code Online (Sandbox Code Playgroud)

dfa*_*dfa 56

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

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

 }
Run Code Online (Sandbox Code Playgroud)

您也可以选择注入:


th3*_*org 12

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

public class MyResource {

  @Context
  private HttpServletRequest httpRequest;

  @GET  
  public Response foo() {  
    httpRequest.getContentType(); //or whatever else you want to do with it
  }
}
Run Code Online (Sandbox Code Playgroud)