如何使用@Context批注
在什么是javax.ws.rs.core.context的第3部分中? 您学习了如何在请求和配置,提供程序和应用程序实例中使用@Context批注。
在本文中,您将学习如何使用@Context批注注入HttpServletResponse和HttpServletRequest类。
获取对HttpServletRequest属性的访问权限
JAX-RS API在Servlet之上运行,因此Servlet对象的实例可用于JAX-RS资源。 @Context批注用于为当前请求注入HttpServletRequest实例。 它的方法可以访问有关请求的详细信息。
让我们看一个简单的示例,该示例检索请求的远程地址。
@Path("/remote-address")
public class HttpServletRequestResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getRemoteAddress(
final @Context HttpServletRequest httpServletRequest){
return Response.ok(httpServletRequest.getRemoteAddr()).build();
}
}