我想让浏览器缓存我的回复,但仅限于返回状态为200。
我知道如何在Spring MVC中启用缓存控制头。但是,当我的代码抛出由返回HTTP错误状态(例如404)的 Exceptionhandler 处理的异常时,响应头仍然具有缓存控件,这使得浏览器缓存响应。这不是理想的行为。当我的代码返回HTTP错误状态时,我不希望浏览器缓存该响应。
我尝试编写自己的 HandlerInterceptor ,它在 postHandle 或 afterCompletion 方法中设置缓存控制头。但是我发现这些方法不会被调用,或者在响应发送到浏览器后被调用。
我使用的是Spring 4.1.6。我的控制器是 RestController ,它返回 ResponseEntity 。 不会返回一个视图,然后由 ViewResolver 处理。