使用 result.withCookies 时结果不包含 cookie

result contains no cookies when using result.withCookies

请注意:Play Framework新手

简介

我需要使用session()and/orresponse().cookies来传递data/store数据。

起初 session() 开始处理这个问题,现在 cookies 正在跟进。

问题:

给出下面的基本示例代码,我有一个布尔值设置结果,然后创建 cookie 并将其添加到结果中。

在这里,呈现 myPage,其中包含一个 POST 动作到同一控制器中的一个动作,UserController

在这个新方法中,没有cookies

证实了这一点
Collection<Http.Cookie> cookies = response().cookies();

大小为 0

用户控制器

//...
Result result;
if(b)
    result = ok(myPage.render());
else
    result = new MyController().index();
result = result.withCookies(
        new Http.Cookie("id", "value", 86400, "", "", true, false, Http.Cookie.SameSite.LAX),
        new Http.Cookie("id_2", "value_2", 3600, "", "", true, false, Http.Cookie.SameSite.LAX)
    );

return result;
//...

问题:

documentation 指出 session() 在浏览器 window 打开时持续整个持续时间。

Cookies存储在客户端,网页加载时加载,session被认为是一堆cookies。

为什么设置 session() 条目或添加 cookies() 如上所示,会被清除,即 response() 中没有可用的 cookie?

我可以寻找什么,什么会删除 session()cookie 个条目?

好吧,没有秘密答案...

问题中没有显示,但 cookie nameid 可能不包含空格。这引起了我的问题。删除 name/id 中的空格后(值可以有空格),

然后问题就解决了