在需要作跨域处理的服务中, 新增配置类: CorsFilter
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
/**
* @author 梦欣
* @version 1.0
* @description 跨域配置
* @date 2023/2/7 3:24
*/
@SpringBootConfiguration
public class GlobalCorsConfig {
@Bean
public CorsFilter getCorsFilter() {
// 获取跨域配置对象
CorsConfiguration corsConfiguration = new CorsConfiguration();
// 新增白名单域名进行跨域调用, *表示所有,可以具体指定http://localhost:8601表示只允许http://localhost:8601/跨域
corsConfiguration.addAllowedOrigin("*");
// 允许跨域发送Cookie
corsConfiguration.setAllowCredentials(true);
// 放行全部原始头信息
corsConfiguration.addAllowedHeader("*");
// 允许所有请求方法跨域调用, 比如:GET,Post,(多个方法中间以逗号分隔),*号表示所有
corsConfiguration.addAllowedMethod("GET, POST, PUT, DELETE, OPTIONS");
// 跨域检测有效期
corsConfiguration.setMaxAge(360000L);
// 获取url基础跨域配置源对象
UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
// 允许所有地址作跨域处理
urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);
return new CorsFilter(urlBasedCorsConfigurationSource);
}
}