[Spring Boot] 解决跨域请求问题

 一.摘要

  一般前端后端分离开发的项目经常出现该类问题,浏览器均默认开启了同源策略,它指Ajax请求所在的页面和被请求的页面在协议、域名、端口均相同才能被访问,否则就会报错。下面是其中一种解决方式;其他的方法参考:https://www.cnblogs.com/sueyyyy/p/10129575.html

二.解决方式

1. 添加配置类:

全局跨域配置,适用于接口多的场景

 1 //解决跨域访问问题
 2 @Configuration
 3 public class CorsConfig implements WebMvcConfigurer {
 4     @Bean
 5     public WebMvcConfigurer corsConfigurer()
 6     {
 7         return new WebMvcConfigurer() {
 8             @Override
 9             public void addCorsMappings(CorsRegistry registry) {
10                 registry.addMapping("/**").
11                         allowedOrigins("*").     //允许跨域的域名,可以用*表示允许任何域名使用
12                         allowedMethods("*").                            //允许任何方法(post、get等)
13                         allowedHeaders("*").                            //允许任何请求头
14                         allowCredentials(true).                         //带上cookie信息
15                         exposedHeaders(HttpHeaders.SET_COOKIE).maxAge(3600L); //maxAge(3600)表明在3600秒内,不需要再发送预检验请求,可以缓存该结果
16             }
17         };
18     }
19 }

 2. 添加 @CrossOrigin 注解

作用于类或者方法上,适用于接口很少的场景

原文地址:https://www.cnblogs.com/chasemeng/p/13427430.html