为了账号安全,请及时绑定邮箱和手机立即绑定

当请求包含多个同名cookie时,SpringMVC中@CookieValue的行为是什么?

当请求包含多个同名cookie时,SpringMVC中@CookieValue的行为是什么?

富国沪深 2022-10-07 17:48:58
使用 cookie 处理 REST 请求时,我使用@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,第一个值。但找不到 doc 注意到这种行为,所以不确定这是否巧合。
查看完整描述

1 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

它是具有所需名称的第一个 cookie 将用于检索值。

在 Spring Boot 2.0.3(spring-webmvc 5.0.7.RELEASE)中:

从 开始ServletCookieValueMethodArgumentResolver#resolveName,它调用WebUtils#getCookie以检索给定名称的 cookie。

同时,JavadocWebUtils#getCookie指出:

检索具有给定名称的第一个 cookie。请注意,多个 cookie 可以具有相同的名称但不同的路径或域。


查看完整回答
反对 回复 2022-10-07
  • 1 回答
  • 0 关注
  • 67 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信