社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
简单来说Cors就是用来解决跨域问题的。此外解决的方式还有:Nginx反向代理,Jsoup等方式。不过Nginx不符合Devops理念,不易维护,而Jsoup支持的请求类型只支持Get请求。Cors更为适合;
ajax请求才会出现跨域
package com.leyou.gateway.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
@Configuration
public class CorsConfiguration {
@Bean
public CorsFilter corsFilter(){
//配置初始化对象
CorsConfiguration configuration=new CorsConfiguration();
//允许跨域的域名,如果要携带cookie,不能写* 。 *:代表所有的域名都可以访问
configuration.addAllowedOrigin("http://localhost:9001");
configuration.setAllowCredentials(true);
configuration.addAllowedMethod("*"); //代表所有的请求方法
configuration.addAllowedHeader("*"); //允许携带任何头信息
//初始化cors配置源对象
UrlBasedCorsConfigurationSource configurationSource=new UrlBasedCorsConfigurationSource();
configurationSource.registerCorsConfiguration("/**",configuration);
//返回corsFilter实例,参数:cors配置源对象
return new CorsFilter(configurationSource);
}
}
注意,这里的代码是写在Zuul微服务中的
这里是`http://localhost:9001**,所以后端如果不是使用 * 的话,则要加这个地址;否则跨域实现不了!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!