Заголовок ответа Spring MVC: почему настройка заголовка для параметра HttpServletResponse работает, когда я возвращаю новый ResponseEntity? - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть этот простой фрагмент:

@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, он также работает: я вижу заголовок «Разрешить», установленный в моем тесте.Почему?

1 Ответ

0 голосов
/ 18 декабря 2018

Потому что, когда вы возвращаете ResponseEntity.Вы уже создали новый ответ вместо вашего HttpServletResponse.Таким образом, вы устанавливаете свой заголовок для этого ответа, но вы возвращаете другой.Вот почему ваш заголовок не работает.

...