在Gateway配置跨域问题解决方案:
/**
* 允许所有请求跨域访问
* 跨域配置:原理就是对响应报文添加一个响应头,允许跨域访问
* 实现方案:
* 1、在springmvc的controller上添加注解,@CrossOrigin
* 2、也可以通过gateway网关提供的CorsWebFilter全局过滤器处理响应报文
*
* @return
*/
@Bean
public CorsWebFilter crossOrigin() {
//CorsConfiguration 相关配置说明
// 是否允许携带cookies
//private Boolean allowCredentials;
// 允许的请求源
// private List<String> allowedOrigins;
// 允许的http方法
//private List<String> allowedMethods;
// 允许的请求头
//private List<String> allowedHeaders;
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);//允许携带任意cookie请求访问
config.addAllowedMethod("*");//允许所有请求方式访问
config.addAllowedHeader("*");//允许任意请求头请求访问
config.addAllowedOrigin("*");//允许所有客户端访问
configSource.registerCorsConfiguration("/**", config);
return new CorsWebFilter(configSource);
}
```