其他分享
首页 > 其他分享> > Spring HTTP缓存管理

Spring HTTP缓存管理

作者:互联网

我已经看到你可以使用AnnotationMethodHandlerAdapter bean控制缓存http头.

我的问题是我需要对缓存进行精细控制(在方法级别).
最好的想法是使用类似“@RequestCache(expire = 60)”之类的注释.

有这样的事吗?
完成此任务的最佳方法是什么?

谢谢,
安德里亚

更新:
PAP建议使用的HandlerInterceptor,但我已经看到多个论坛上的帖子说这是不可能得到的HandlerInterceptor内目标的方法和建议使用定期AOP代替(不是专为高速缓存).
问题是我不想将请求参数添加到我的所有方法中,只是为了使方法可以访问它.有办法避免这种情况吗?

解决方法:

您可以使用以下描述的方法
Spring mvc reference manual

Support for the ‘Last-Modified’ Response Header To Facilitate Content Caching

@RequestMapping(value = "/modified")
@ResponseBody
public String getLastModified(WebRequest request) {
    if (request.checkNotModified(lastModified.getTime())) {
        logger.error("Was not modified.");
        return null;
    }
    logger.error("Was modified.");
    //processing
    return "viewName";
}

标签:spring-mvc,browser-cache,spring,cache-control
来源: https://codeday.me/bug/20190530/1184241.html