Spark 框架 cookie 始终为空

Spark Framework cookies always null

这是我的第一个post,所以我希望我做的一切都正确。

所以,我的问题是每次我在 Spark Framework 中设置一个 cookie 时,只要我想访问它,它就会为空。这是我的浏览器 (IE/Edge) 在我发送请求时收到的内容:


这是我的 Spark 服务器:

 public Server(int port, boolean skipPort) {
  isRunning = true;
  if(!skipPort)
   port(port);

  post("/login", new Route() {
   public Object handle(Request req, Response res) throws Exception {
    
    String body = req.body();
    
    JsonElement element = new JsonParser().parse(body);
    
    JsonObject object = element.getAsJsonObject();
    
    String password = object.get("password").getAsString();
    String account = object.get("account").getAsString();
    
    if(!ValueHelper.isEmtpy(password) && !ValueHelper.isEmtpy(account)) {
     res.cookie("Test", "Hallo");
     return isLoginValid(account, password);
    }else
     return false;
   }
  });
  
  get("/valid", new Route() {
   public Object handle(Request req, Response res) throws Exception {
    
    Main.instance().getLog().debug(req.cookie("Test"));
    
    return false;
   }
  });
  
  options("/*",
          new Route() {
     public Object handle(Request request, Response response) throws Exception {
         String accessControlRequestHeaders = request
                 .headers("Access-Control-Request-Headers");
         if (accessControlRequestHeaders != null) {
             response.header("Access-Control-Allow-Headers",
                     accessControlRequestHeaders);
         }

         String accessControlRequestMethod = request
                 .headers("Access-Control-Request-Method");
         if (accessControlRequestMethod != null) {
             response.header("Access-Control-Allow-Methods",
                     accessControlRequestMethod);
         }
         return "OK";
     }
    });
  before(new Filter() {
   public void handle(Request request, Response response) throws Exception {
    response.header("Access-Control-Allow-Origin", "*");
   }
  });
 }

要理解这一点:首先我从我的前端调用“/login”(在本例中是一个带有 Axios 的 React-App),然后我调用“/valid”。在我的控制台中,我得到了这个:

[16:48:47 INFO]: [Portal] null 

但它应该让我得到 cookie 的值 ("Hallo")。

我做错了什么?还是我误会了什么?

感谢所有愿意帮助的人^^

经过数小时的研究,我终于找到了问题所在。这不是 Spark 本身的问题。在我的应用程序中,我使用 axios 发出请求。 Axios 显然像 Ajax 一样工作或使用它。因此,我需要将以下内容添加到请求的 Axios 配置中:

withCredentials: true

在我的 header 配置响应中,我需要添加以下内容:

response.header("Access-Control-Allow-Credentials", "true");

现在一切都很顺利