我有这个简单的代码段:
@RequestMapping(value = "/consent-history", method = RequestMethod.OPTIONS)
public ResponseEntity optionsHistory(HttpServletResponse response) {
//response.setHeader("Allow", "GET,OPTIONS");
//return new ResponseEntity(HttpStatus.OK); // this works too, strangely
return ResponseEntity.status(200).header("Allow", "GET,OPTIONS").body(""); // this apparently works
}
我知道返回一个新的ResponseEntity是可行的,因为我在其上设置了标头。但是,当我在参数response
上设置标头时,它也起作用:我在测试中看到标头“允许”设置。为什么?
答案 0 :(得分:0)
因为当您返回ResponseEntity时。您已经创建了一个新的响应,而不是HttpServletResponse。因此,您将标题设置为该响应,但返回另一个响应。这就是您的标头不起作用的原因。