Каково поведение @CookieValue в SpringMVC, когда запрос содержит несколько файлов cookie с одним и тем же именем? - PullRequest
0 голосов
/ 16 апреля 2019

При обработке запроса REST с cookie, я использую @CookieValue для получения значения cookie, лайки:

@GetMapping("/path")
public ResponseEntity doRequest(@CookieValue(value = "cookie_name", required = false) final String cookieValue) {

Вопрос в том, что мы могли бы отправить несколько файлов cookie с одним и тем же именем на этотконечная точка, например:

curl -v http://localhost/path --cookie "cookie_name=abc; cookie_name=def" 

Какое значение получит cookieValue получить?

При использовании Spring boot 2.0.3 значение выглядит как abc, первое значение.Но не смог найти, док отметил это поведение, поэтому не уверен, совпадение это или нет.

1 Ответ

0 голосов
/ 16 апреля 2019

Это первый файл cookie с требуемым именем, который будет использоваться для получения значения.

При загрузке Spring 2.0.3 (spring-webmvc 5.0.7.RELEASE):

Начиная с ServletCookieValueMethodArgumentResolver#resolveName, он вызывает WebUtils#getCookie, чтобы получить cookie для данного имени.

Между тем, Javadoc WebUtils#getCookie отметил:

Получить первый файл cookie с указанным именем. Обратите внимание, что несколько файлов cookie могут иметь одно и то же имя, но разные пути или домены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...