跨域就是当前域名和你请求的域名不一样。我们一般是使用CORS解决,这个最方便,也很安全,原理比较复杂。
这个配置文件我是放在网关里面的:
代码如下:
@Configuration
public class CorsConfig {
@Bean
public CorsFilter corsFilter(){
//初始化配置cors对象
//*是所有的意思
CorsConfiguration corsConfiguration = new CorsConfiguration();
//允许哪个域名跨域,如果是“*”,不能携带cookie
corsConfiguration.addAllowedOrigin("*");
//是否允许携带cookie
//corsConfiguration.setAllowCredentials(true);
//请求方式
corsConfiguration.addAllowedMethod("*");
//允许携带的头信息
corsConfiguration.addAllowedHeader("*");
//初始化cors配置源对象
UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);
//返回corsfilter实例
return new CorsFilter(urlBasedCorsConfigurationSource);
}
}
万金油写法。