Spring Boot 项目解决跨域问题(无敌版)
添加全局 Cors 过滤配置类:
package com.xiaosheng.developer.common.support.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; /** * @description: * @author: wangzibin **/ @Configuration public class GlobalCorsConfig { @Bean public CorsFilter corsFilter(){ //1.添加CORS配置信息 CorsConfiguration config = new CorsConfiguration(); //放行哪些原始域 config.addAllowedOrigin("*"); //是否发送Cookie信息 config.setAllowCredentials(true); //放行哪些原始域(请求方式) config.addAllowedMethod("*"); //放行哪些原始域(头部信息) config.addAllowedHeader("*"); //暴露哪些头部信息(因为跨域访问默认不能获取全部头部信息) // config.addExposedHeader("*"); config.addExposedHeader("Content-Type"); config.addExposedHeader( "X-Requested-With"); config.addExposedHeader("accept"); config.addExposedHeader("Origin"); config.addExposedHeader( "Access-Control-Request-Method"); config.addExposedHeader("Access-Control-Request-Headers"); //2.添加映射路径 UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource(); configSource.registerCorsConfiguration("/**", config); //3.返回新的CorsFilter. return new CorsFilter(configSource); } }
完事。