有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Spring MVC响应头:当我返回一个新的ResponseEntity时,为什么在param HttpServletResponse上设置头会起作用?

我有一个简单的片段:

@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上设置头时,它也起作用:我在测试中看到头“Allow”设置。为什么


共 (1) 个答案

  1. # 1 楼答案

    因为当你回复回复时。您已经创建了一个新的响应,而不是HttpServletResponse。因此,您在该响应上设置了标题,但返回了另一个标题。这就是你的头球没用的原因