如何在 Spring Boot 中启用 HTTP 响应缓存
我已经使用Spring Boot 1.0.2实现了REST服务器。我在阻止Spring设置禁用HTTP缓存的HTTP标头时遇到问题。
我的控制器如下:
@Controller
public class MyRestController {
@RequestMapping(value = "/someUrl", method = RequestMethod.GET)
public @ResponseBody ResponseEntity<String> myMethod(
HttpServletResponse httpResponse) throws SQLException {
return new ResponseEntity<String>("{}", HttpStatus.OK);
}
}
所有 HTTP 响应都包含以下标头:
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Expires: 0
Pragma: no-cache
我尝试了以下方法来删除或更改这些标头:
- 调用控制器。
setCacheSeconds(-1)
- 调用控制器。
httpResponse.setHeader("Cache-Control", "max-age=123")
- 定义我称之为 .
@Bean
WebContentInterceptor
setCacheSeconds(-1)
- 将属性设置为 -1 或 中的正值。
spring.resources.cache-period
application.properties
以上均未产生任何影响。如何在Spring Boot中禁用或更改所有或单个请求的这些标头?