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";
}

  

原文地址:https://www.cnblogs.com/unknows/p/11050638.html