
解决方法:
-
- 对应controller添加注解@CrossOrigin
-
- CorsConfig配置
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/*")
.allowedOrigins("*")
.allowCredentials(true)
.allowedMethods("GET", "POST", "DELETE", "PUT","PATCH")
.allowedHeaders("*")
.maxAge(3600);
}
}

application.yml中 authc-urls:拦截所有就会报错,注释后能通过,为什么?
最终处理
不需要每个controller添加 @CrossOrigin注解
@Configuration
public class CorsAutoConfig {
@Bean
public CorsFilter corsFilter(){
UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource=new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration=new CorsConfiguration();
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.addAllowedOrigin("*");
urlBasedCorsConfigurationSource.registerCorsConfiguration("/**",corsConfiguration);
CorsFilter corsFilter=new CorsFilter(urlBasedCorsConfigurationSource);
return corsFilter;
}
}