gpt4 book ai didi

java - Spring3.1 CORS。这段代码是什么意思?我不明白为什么作者使用 'semi-colon' 到那个位置

转载 作者:行者123 更新时间:2023-12-01 09:02:45 25 4
gpt4 key购买 nike

我正在寻找一种在 spring3.1 上启用 CORS 的解决方案,几乎每个人都使用如下相同的代码。

public class CorsFilter extends OncePerRequestFilter {

@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
response.addHeader("Access-Control-Allow-Origin", "*");
if (request.getHeader("Access-Control-Request-Method") != null && "OPTIONS".equals(request.getMethod())); {
// CORS "pre-flight" request
response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
response.addHeader("Access-Control-Allow-Headers", "Authorization");
response.addHeader("Access-Control-Max-Age", "1728000");
}
filterChain.doFilter(request, response);
}

}

我从 https://gist.github.com/kdonald/2232095 看到了这段代码

您看到 if 语句条件末尾的“分号”了吗?我有点生气,因为我在这段代码上苦苦挣扎了一个多小时......

这段代码看起来像典型的 if 语句,但由于“分号”使其以一种完全奇怪的方式运行。

我还是不明白这段代码是如何工作的,如果能工作,为什么作者要这样写代码...

不仅对于“分号”,而且对于 {},如果该“分号”用于任何目的,这个括号也是无用的。

有谁能帮我理解这段代码吗?

最佳答案

分号将结束 if 语句,使其成为空 if 语句。允许使用这种语法,因为您可以编写无括号 if 语句。

独立的大括号将声明一个匿名 block ,该 block 添加标题。该 block 将始终执行。所以你总是会添加标题。

这可能是作者的拼写错误。

关于java - Spring3.1 CORS。这段代码是什么意思?我不明白为什么作者使用 'semi-colon' 到那个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41543567/

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