提供三種配置方式:
1.配置過濾器,實現 WebMvcConfigurer接口(springboot2.x的方式)
@Configuration
public class GlobalCorsConfig implements WebMvcConfigurer {
//添加到容器中管理
@Bean
public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
config.addAllowedOrigin("*");
config.setAllowCredentials(true);
config.addAllowedMethod("*");
config.addAllowedHeader("*");
config.addExposedHeader("*");
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config);
return new CorsFilter(configSource);
}
}
2.配置攔截器,繼承WebMvcConfigurerAdapter類(1.x的方式,在2.x已經過時)
@Configuration
public class MyConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowCredentials(true)
.allowedHeaders("*")
.allowedOrigins("*")
.allowedMethods("*");
}
}
以上兩種是針對全局的配置方式
3. 單個請求的跨域通過 @CrossOrigin 注解來實現
@RequestMapping("/hello")
@CrossOrigin("http://127.0.0.1:8080")
public String hello( ){
return "Hello World springboot";
}
