我正在使用 Java 和 Apache CXF 为 AngularJS(单页网站)编写后端。在我的 REST 服务中,我需要访问 http 请求的标头(即参数和 cookie),我还需要访问响应标头(即参数和 cookie)。这样做的主要原因是安全性、身份验证目的和会话管理。这些都是重要的原因。
有没有办法在 Apache CXF RESTfull 代码中获取这两种结构?
您可以使用@Context
[javax.ws.rs.core.Context]注入请求
public Response myRest(@Context HttpServletRequest request /*, other parameters if you have like @QueryParam */ ){
request.getCookies();
request.getUserPrincipal();
}
您可以在响应中设置 cookie 或标头,如下所示
ResponseBuilder builder = Response.ok(); //Response.status(500) either way
builder.cookie(arg0);
builder.header(arg0, arg1);
return bulider.build();