国际网站群建设方案西宁网站推广
在JAX-RS中获取请求头信息的方法
- @HeaderParam注解,可以直接将请求头中的特定值注入到方法参数中,代码示例:
 
import javax.ws.rs.GET;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;@Path("/users")
public class UserService {@GET@Path("/get")public Response addUser(@HeaderParam("user-agent") String userAgent) {return Response.status(200).entity("addUser is called, userAgent : " + userAgent).build();}
}
 
- 使用@Context注解注入HttpHeaders对象,然后使用该对象提供的方法来获取请求头信息
 
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.Response;@Path("/users")
public class UserService {@GET@Path("/get")public Response addUser(@Context HttpHeaders headers) {String userAgent = headers.getRequestHeader("user-agent").get(0);return Response.status(200).entity("addUser is called, userAgent : " + userAgent).build();}
}
 
HttpHeaders类还提供了一些其他有用的方法来获取特定的请求头信息,例如:
- getAcceptableLanguages():获取请求头中的Accept-Language信息,返回一个Locale对象的列表。
 - getCookies():获取请求头中的Cookie信息。
 - getLength():获取请求头中的Content-Length信息。
 
