Springboot跨域解决三种方法

什么是跨域?

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。
所谓同源是指,域名,协议,端口均相同,只要有一个不同,就是跨域

Spring Boot 项目中解决跨域的 3 种方案

1. @CrossOrigin 注解

在controller类上添加 @CrossOrigin 注解

@CrossOrigin
public class GoodsController {
    
    

}  

2. 添加 CORS 过滤器

@Configuration
public class CorsConfig {
    
    
    
    @Bean
    public CorsFilter corsFilter(){
    
    
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsFilter(source);
    }
    
}

3.实现 WebMvcConfigurer 接口,重写 addCorsMappings 方法

@Configuration
public class CorsConfiguration implements WebMvcConfigurer {
    
    

    @Override
    public void addCorsMappings(CorsRegistry registry) {
    
    
        registry.addMapping("/**")
                .allowedOriginPatterns("*")
                .allowedMethods("GET","POST","PUT","DELETE","HEAD","OPTIONS")
                .allowCredentials(true)
                .maxAge(3600)
                .allowedHeaders("*");
    }
}

猜你喜欢

转载自blog.csdn.net/qq_44866153/article/details/123403282
今日推荐