gpt4 book ai didi

java - Spark 框架 cookie 始终为空

转载 作者:行者123 更新时间:2023-12-02 10:28:30 31 4
gpt4 key购买 nike

这是我的第一篇文章,所以我希望我做的一切都是正确的。

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

Response
这是我的 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");

现在一切都很顺利

关于java - Spark 框架 cookie 始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53746837/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com