当我在控制器方法内写:
response.setHeader("Content-Disposition", "attachment; filename=mockDump.csv");
效果很好。
但是当我添加@RequestMapping
参数headers = {"Content-Disposition=attachment", "filename=mockDump.csv"}
方法不会调用。
为什么呢?
答案 0 :(得分:1)
@RequestMapping标头描述了请求中必须存在的标头,以便将其路由到带注释的方法进行处理。在响应对象上调用setHeader设置要在repsonse中发送到客户端的标头
答案 1 :(得分:1)
作为@RequestMapping#headers
javadoc州
映射请求的标头,缩小主映射。
换句话说,headers
适用于请求标头,有助于确定适当的处理程序方法。
如果你想要Spring方式添加响应头,即。不是通过HttpServletResponse
,而是使用适当的ResponseEntity
设置返回HttpHeaders
。