java - 如何设置Pragma : no-cache HTTP header in Jersey?

标签 java jersey cache-control

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

代码:

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

更新:

通过实现ContainerResponseFilter并重写filter方法解决。

最佳答案

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

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

然后使用addHeader函数:

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

关于java - 如何设置Pragma : no-cache HTTP header in Jersey?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25784563/

相关文章:

java - glassfish 的基本身份验证失败

java - 休息 API | Jersey jar | 405错误

google-chrome-devtools - 我如何知道我的 index.html 是否缓存在我的 CRA 应用程序中?为什么它不存在于网络选项卡中?

java - 请参阅 Java EE eclipse 调试中的 POST 参数

java - 在 Java 中对字符串进行标记

java - 从 Java 中的 SOAP 消息中获取字符串

java - 在 ReST 响应中返回 JSP

java - jOOQ:查找特定表中的约束

http - Expires vs max-age,如果两者都在 HTTP 响应中声明,哪个优先?

javascript - 发布新的 Vue 应用程序版本时清除 chrome 中的缓存