方法一(此方法可能导致拦截器失效,可以用方法二)
@Configuration
public class CorsConfigure extends WebMvcConfigurationSupport {
/*
* 这里主要为了解决跨域问题,所以重写addCorsMappings方法 ()
*/
@Override
protected void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
.allowedHeaders("*")
.exposedHeaders("access-control-allow-headers",
"access-control-allow-methods",
"access-control-allow-origin",
"access-control-max-age",
"X-Frame-Options")
.allowCredentials(false).maxAge(3600);
super.addCorsMappings(registry);
}
}
方法二
@Configuration
public class CorsConfigure {
@Bean
public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
config.addAllowedOrigin("*");
config.setAllowCredentials(true);
config.addAllowedMethod("*");
config.addAllowedHeader("*");
config.addExposedHeader("token");
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config);
return new CorsFilter(configSource);
}
}
解决Spring Boot跨域问题的两种配置方法
本文介绍了在Spring Boot中解决跨域问题的两种配置方式。方法一通过重写`WebMvcConfigurationSupport`的`addCorsMappings`方法,设置允许所有源、方法和头,并禁用凭据。方法二创建一个`CorsFilter`,配置允许的源、方法、头,并启用凭据。这两种方法可以帮助开发者方便地处理API的跨域请求。
880

被折叠的 条评论
为什么被折叠?



