Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用Spring Boot访问静态内容时添加响应头?_Spring_Header_Response - Fatal编程技术网

如何在使用Spring Boot访问静态内容时添加响应头?

如何在使用Spring Boot访问静态内容时添加响应头?,spring,header,response,Spring,Header,Response,向控制器添加响应头非常简单,如: @RequestMapping(value = "/test", method = RequestMethod.GET) public String test(HttpServletResponse response) { response.setHeader("specialheader", "Special Header"); return "ok"; } 但当用户试图访问服务器上的静态内容(如.css文件)时,情况并非如此,我显然不想为每个文件创建端

向控制器添加响应头非常简单,如:

@RequestMapping(value = "/test", method = RequestMethod.GET)
public String test(HttpServletResponse response)
{
 response.setHeader("specialheader", "Special Header");
 return "ok";
}
但当用户试图访问服务器上的静态内容(如.css文件)时,情况并非如此,我显然不想为每个文件创建端点

因此,我尝试使用一个新类(@ControllerAdvice)来实现ResponseBodyAdvice,并覆盖“beforeBodyWrite”函数,我得到了每个具有端点的查询的预期结果

这个想法来源于此

但是,当我试图访问服务器上的一个简单的.css文件时,不会调用ControllerAdvice,因此该文件在浏览器中打开时不会设置预期的头


如何向服务器发出的每个响应(包括静态文件的响应)添加常规响应头?

您必须应用筛选器。这将应用于每个HTTP请求的响应

您可以在此处找到确切答案: