Set the response for a specific controller, in the Controller class:

@Controller

@RequestMapping(value = DEFAULT_ADMIN_URL + "/xxx/")

public class XxxController

....

@ModelAttribute

public void setResponseHeader(HttpServletResponse response) {

response.setHeader("Cache-Control", "no-cache");

....

}

or

@RequestMapping(value = "/find/employer/{employerId}", method = RequestMethod.GET)

public List getEmployees(@PathVariable("employerId") Long employerId, final HttpServletResponse response) {

response.setHeader("Cache-Control", "no-cache");

return employeeService.findEmployeesForEmployer(employerId);

}

Or you can put the response header for each call in the application (this is for Spring annotation-based, otherwise see automatically add header to every response):

@Component

public class Filter extends OncePerRequestFilter {

....

@Override

protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)

throws ServletException, IOException {

//response.addHeader("Access-Control-Allow-Origin", "*");

//response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.

response.setHeader("Cache-Control", "no-store"); // HTTP 1.1.

response.setHeader("Pragma", "no-cache"); // HTTP 1.0.

response.setHeader("Expires", "0"); // Proxies.

filterChain.doFilter(request, response);

}

}

create your Interceptor that extends HandlerInterceptorAdapter:

public class HeaderInterceptor extends HandlerInterceptorAdapter {

@Override

public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler) {

httpServletResponse.setHeader("Cache-Control", "no-store"); // HTTP 1.1.

httpServletResponse.setHeader("Pragma", "no-cache"); // HTTP 1.0.

httpServletResponse.setHeader("Expires", "0"); // Proxies.

return true;

}

}

In your MvcConfig thath extends WebMvcConfigurerAdapter you must Override the addInterceptors method and add new Interceptor:

@Override

public void addInterceptors(InterceptorRegistry registry) {

....

registry.addInterceptor(new HeaderInterceptor());

}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐