【发布时间】:2016-08-10 17:11:15
【问题描述】:
从我的客户端,我正在从服务器查询一些枚举。现在,我想在服务器上查询过这些枚举后立即将它们缓存在客户端中。
我尝试如下设置Cache-Control:
@CrossOrigin
@RequestMapping(value = "enums/{name}", method = RequestMethod.GET)
public List<String> getEnums( @PathVariable("name") String name, final HttpServletResponse response) {
response.setHeader("Cache-Control", "max-age=3600");
return myservice.findAllEnums(name);
}
响应标头似乎正确设置为Cache-control: max-age=3600。我还在我的安全配置中禁用了所有 http 标头,如下所示:
@Override
protected void configure(final HttpSecurity http) throws Exception {
http.headers().cacheControl().disable();
}
不幸的是,响应没有缓存在浏览器中。一旦我查询资源,查询就会再次发送到服务器。
同时,我完全删除了 Spring Security,但它仍然无法正常工作。 我没有正确理解什么?我还需要配置什么?
【问题讨论】:
标签: java spring rest spring-mvc http-caching