【可用】【一眼就会】Access-Control-Allow-Origin (CORS 头缺少 'Access-Control-Allow-Origin')【重构跨域请求】【已解决】

解决跨域问题有多种方式,

很多文章都是千篇一律。没有实质性,没有给出具体解决方法。

更可悲的是,官方给出的解决方案就是提示,解释是:“对于允许所有源的情况,可以设置Access-Control-Allow-Origin: *。如果要限制到特定的源,可以设置具体的域名,例如Access-Control-Allow-Origin: https://example.com

也没有说具体如何解决。不如不说。

 

在此我重构跨域请求,问题彻底解决。

先在类上加:@CrossOrigin 注解

再:重构跨域bean

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
 
 
 
 
 
@Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
              // 重构跨域请求接口
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                // 支持所有映射路径
                registry.addMapping("/**")
                        // 开放域名,测试用:*(发布写具体域名。)
                        .allowedOriginPatterns("*")
                        // 是否发送Cookie信息 true
                        .allowCredentials(true)
                        // 支持的请求方式有:
                        .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS", "PATCH")
                        // 开放所有原始域
                        .allowedHeaders("*")
                        .exposedHeaders("Header1", "Header2")
                        //请求时效1小时
                        .maxAge(3600);
            }
        };
    }

  

 

posted @   刘贵庆  阅读(421)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示