通常,我会尽量避免在Spring Web MVC控制器中使用HttpServletResponse
。在一个控制器中,我有代码写入Writer
对象而不是返回响应。我希望控制器还将Content-Type
设置为text/csv
。
首先,控制器会声明produces
,但不会设置任何内容类型。
@RequestMapping(value = "export.csv", method = RequestMethod.GET, produces = "text/csv")
public void export(Writer writer) {
...
}
我尝试返回ResponseEntity<Void>
并在那里设置Content-Type。但是,这引发了一个异常,表明已经获得了Writer对象。
最后,它当然可以使用HttpServletResponse
,但我怀疑必须有一种方法可以直接使用servlet API。
该项目使用Spring Boot 1.2.7。 (这包括Spring Framework 4.1.8,我相信)。