首页 > 解决方案 > 在 Angular 和 Java 中存储 cookie 的方法

问题描述

我正在开发一个 web 应用程序,使用Angular客户和 Java 和服务器端Spring。我已经阅读了一些文章,但还没有找到我的问题的具体答案。目标是从双方存储、读取和修改 cookie 。我想找出方便和简单的方法来存储和读取 cookie。

首先,是否有一些最佳实践/约定可以在客户端设置它,然后如果需要在双方阅读和修改,或者......?

我发现在客户端使用ngx-cookie-service非常容易。而对于服务器端,情况更糟。我试图以这种方式添加cookie作为响应:

@RequestMapping("/")
public String hello(HttpServletResponse response) {
    response.addCookie(new Cookie("foo", "bar"));
    //..        
}

但它不存储cookie。

同样使用 Spring,我尝试通过客户端读取已存储的 cookie,但它也不起作用:

@RequestMapping("/")
    public String hello(@CookieValue("myCookie") String cookie){
     log.info("My cookie {}", cookie);
     (...)
}

标签: springangularspring-mvccookies

解决方案


检查这个:访问控制允许凭据

基本上,如果您的服务器在标头中有此设置,那么您对服务器的请求也必须将 withCredentials 属性设置为 true


推荐阅读