当前位置: 首页 > 知识库问答 >
问题:

Spring控制器未获取缓存控制标头

荣德厚
2023-03-14

我想在缓存控制头中设置max age以响应。我已经写了如下,但仍然有max-age 0。我想只为一种方法设置max age,所以我不想禁用默认值。我认为应该是ovveride。

 @ApiOperation(value = "get value by foreign currency", response = Property.class)
@RequestMapping(method = RequestMethod.GET, value = "/properties/{id}")
@ResponseBody
public ResponseEntity<BigDecimal> getValueByForeignCurrency(@PathVariable Long id,
                                                @RequestParam("currency") String currency, Locale locale) {
    if (!ForeignCurrency.isLegalCurrency(currency)) {
        throw new IllegalArgumentException("Currency: " + currency + " is not legal");
    }

    BigDecimal foreignValue = propertyService.getPropertyValueInForeignCurrency(id, currency, locale);

    return ResponseEntity.ok().cacheControl(CacheControl.maxAge(1, TimeUnit.HOURS))
            .body(foreignValue);
}

有人知道我做错了什么吗?

共有1个答案

左丘善
2023-03-14

SpringSecurity默认设置为无缓存模式

您可以在HttpServletResponse对象中设置缓存设置。

@RequestMapping(value = "/", method = RequestMethod.GET) 
public String welcome(HttpServletResponse response) { 
    response.setHeader("Cache-Control", "no-transform, public, max-age=3600"); 
    return "welcome"; 
}

官方留档请参考此。

 类似资料:
  • 使用 rax-plugin-pwa 插件,可以方便快捷的使用 Service Worker 控制缓存,以获得更快的加载速度。 首先,安装 build-plugin-rax-pwa 插件依赖: $ npm install build-plugin-rax-pwa --save 在工程配置 build.json 中添加 pwa 插件并配置缓存目标: { "plugins": [ [

  • 我有一个问题与超文本传输协议头-缓存控制:max-age=1234我的源有那个头,但任何方式发送请求和接收304.我需要可能我错过了什么?还有一个,源除了缓存控制: max-age=1234在"响应头"有缓存控制: max-age=0在"请求头",可能是它的影响。 我的一个资源响应标题,示例: > 远程地址:10.6.237.13:443请求请求方式:GET状态码:304未修改

  • 我是新来的Spring应用程序。我试图创建小Spring应用程序,但我得到404错误消息。似乎控制器(indexController)没有开始调用。我累了调试,但它不在那里。 文件位置: /WebContent/WEB-INF/pages/index.html /WebContent/WEB-INF/HelloWebServlet。xml /WebContent/WEB-INF/web.xml H

  • 我有一个controller类,如下所示: 我正在尝试添加一个方面,如下所示: 但是,没有调用aspect方法。我期望它在调用控制器的时执行。 我看到spring mvc没有用代理包装我的控制器bean。这就是为什么这方面没有效果的原因吗? 有没有人能解释一下我怎样才能让这个方面。 控制器类位于:com.xyz.webapp.controller中 Aspect类在com.xyz.webapp中

  • 我正在将使用JSP的5年前的Spring MVC应用程序移植到Spring Boot。因此,根据http://docs.spring.io/spring-boot/docs/current-snapshot/reference/htmlsingle/#boot-features-jsp-limittings中的示例,我使用了“war”打包。 我很乐意增加tomcat缓存,但是我没有找到在Sprin