springBoot2.x 支持跨域请求配置
提供三种配置方式:
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"; }