只需两步:
第一步,添加配置类:
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;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author xrw
* 跨域请求配置
*/
@Configuration
public class WebConfig implements WebMvcConfigurer {
//从配置文件中读取允许访问的非本机地址
@Value("${wedOrigin.name}")
private String wn;
//允许跨域请求
@Bean
public CorsFilter corsFilter() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
//遍历数组,将允许访问的地址添加进去
String [] result = wn.split(",");
for (int i=0;i<result.length;i++){
corsConfiguration.addAllowedOrigin(result[i]);
}
//这一句表示允许任何地址访问服务器
//corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.setAllowCredentials(true);
UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);
return new CorsFilter(urlBasedCorsConfigurationSource);
}
}第二部,配置文件application.xml中添加配置:
wedOrigin:
name: [192.168.1.1,127.0.0.1]如此,跨域问题完美解决
使用 @Value将配置文件的值注入到属性中的教程见我另一篇博客:https://blog.csdn.net/qq_26356861/article/details/100303979
版权声明:本文为qq_26356861原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。