如何在Jersey中设置Pragma:no-cache HTTP头?

时间:2014-09-11 10:03:59

标签: java jersey cache-control

我需要强制浏览器从URL加载Web资源,而不是从浏览器缓存加载。如何在 Jersey 响应中设置Pragma: no-cache HTTP标头?

代码:

@GET @Path("/cache/{id}")
    @Produces({"application/json"})
    public static String getCachachedJSON(@PathParam("id") int id) {  
        return  getJSONRecord(id);
    }

更新

通过实施ContainerResponseFilter和覆盖filter方法来解决。

1 个答案:

答案 0 :(得分:0)

将响应添加为@Context资源,它也可以是参数或字段:

getCachachedJSON(@PathParam("id") int id, @Context HttpServletResponse servletResponse)

然后使用addHeader函数:

servletResponse.addHeader("Pragma", "no-cache");