SpringBoot:跨域配置

现代浏览器出于安全的考虑,在 http/https 请求时必须遵守同源策略,否则即使跨域的 http/https 请求,默认情况下是被禁止的,ip(域名)不同、或者端口不同、协议不同(比如 http、https)都会造成跨域问题。下面介绍一个 Spring Boot 中采用注解轻松实现跨域的一个基础例子。

创建 config 包,放入一个配置类

WebMvcConfigurer 配置类

@Configuration
public class WebMvcConfigurer extends WebMvcConfigurerAdapter {
    //跨域配置
    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            //重写父类提供的跨域请求处理的接口
            public void addCorsMappings(CorsRegistry registry) {
            //添加映射路径
            registry.addMapping("/**")
            //放行哪些原始域
            .allowedOrigins("*")
            //是否发送Cookie信息
            .allowCredentials(true)
            //放行哪些原始域(请求方式)
            .allowedMethods("GET", "POST", "PUT", "DELETE")
            //放行哪些原始域(头部信息)
            .allowedHeaders("*")
            //暴露哪些头部信息(因为跨域访问默认不能获取全部头部信息)
            .exposedHeaders("Header1", "Header2");
            }
        };
    }
}

然后前端就可以进行跨域访问了

你可能感兴趣的:(SpringBoot:跨域配置)