springboot 2.4之前

public class CorsFilterConfig {private CorsConfiguration buildConfig() {
        CorsConfiguration config = new CorsConfiguration();// 允许cookies跨域config.setAllowCredentials(true);// 允许向该服务器提交请求的URI,*表示全部允许。。这里尽量限制来源域,比如http://xxxx:8080 ,以降低安全风险。。config.addAllowedOrigin("*");// 允许访问的头信息,*表示全部config.addAllowedHeader("*");// 预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了config.setMaxAge(18000L);// 允许提交请求的方法,*表示全部允许,也可以单独设置GET、PUT等config.addAllowedMethod("*");return config;
    }@Beanpublic CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", buildConfig());return new CorsFilter(source);
    }
}复制代码

springboot2.4 之后

public class CorsFilterConfig {private CorsConfiguration buildConfig() {
        CorsConfiguration config = new CorsConfiguration();// 允许cookies跨域config.setAllowCredentials(true);// 允许向该服务器提交请求的URI,*表示全部允许。。这里尽量限制来源域,比如http://xxxx:8080 ,以降低安全风险。。// 允许访问的头信息,*表示全部List<String> allowed = new ArrayList<>();
        allowed.add(CorsConfiguration.ALL);
        config.setAllowedOriginPatterns(allowed);// 预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了config.setMaxAge(18000L);// 允许提交请求的方法,*表示全部允许,也可以单独设置GET、PUT等config.addAllowedMethod(CorsConfiguration.ALL);
        config.addAllowedHeader(CorsConfiguration.ALL);return config;
    }@Beanpublic CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", buildConfig());return new CorsFilter(source);
    }
}复制代码