我正在努力实现以下目标。
从Request中读取自定义标头及其值:
name: username
现在,在响应时,我想name:value在HTTP响应中返回相同的标头对。
name:value
我正在使用JAX-RS Web服务的Jersey 2.0实现。
当我发送请求URL时Http://localhost/test/,也会传递请求标头(目前,虽然是Firefox插件-对其进行硬编码)。
Http://localhost/test/
收到对该URL的请求后,将调用以下方法:
@GET @Produces(MediaType.APPLICATION_JSON) public UserClass getValues(@Context HttpHeaders header) { MultivaluedMap<String, String> headerParams = header.getRequestHeaders(); String userKey = "name"; headerParams.get(userKey); // ... return user_object; }
我该如何实现?任何指针都很棒!
只需注入a @Context HttpServletResponse response作为方法参数。更改标题
@Context HttpServletResponse response
@Produces(MediaType.APPLICATION_JSON) public UserClass getValues(@Context HttpHeaders header, @Context HttpServletResponse response) { response.setHeader("yourheadername", "yourheadervalue"); ... }