0
我有一個簡單的Spring MVC RestControllerSpring MVC的:在RestController添加的報頭不返回
@RestController
@RequestMapping(value = "/xxx")
public class MyResource {
其中一個端點是爲了返回一個ZIP文件,所以我有這樣的:
@RequestMapping(value = "/xxx", method = RequestMethod.GET)
public void downloadZip(HttpServletResponse response) {
InputStream is = ...
IOUtils.copy(is, response.getOutputStream());
response.setContentType("application/zip");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, attachment; filename=myfile.zip);
response.flushBuffer();
}
以上是爲了返回一個ZIP,併爲瀏覽器添加兩個額外的頭文件,以知道它是觸發下載的東西。
但事實並非如此,當我使用chrome網絡工具檢查Response標頭時,標頭與請求到達端點前的完全相同。 內容類型仍然是application/json,內容處置甚至不在那裏。
我有自定義標題叫「應用程序版本」。我做了一個測試的嘗試修正值,看它是否真正得到改變
response.setHeader("app-version","hello");
但是,沒有,當我檢查響應頭的「應用程序版本」仍是調用之前是什麼。
我必須啓用任何東西才能修改控制器中的標題嗎?
確實!!如果確實返回「」,那麼我的標題就會被修改! – Johny19