Spring Boot 2.0 解决跨域问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34873338/article/details/80734181

前言

在前后端分离的项目中,前端一般是通过Ajax请求接口,如果前端和后台不在同一个服务器和端口,那么就会出现跨域的问题,比较常见的方式是使用jsonp,但jsonp只支持GET请求,并且前后端都需要做相应的修改。

还有一个方式是在服务端通过CORS协议解决跨域的问题,Spring提供了比较简单的方式实现。

正文

@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {

    @Bean
    public CorsFilter corsFilter() {
        final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
        final CorsConfiguration corsConfiguration = new CorsConfiguration();
        /*是否允许请求带有验证信息*/
        corsConfiguration.setAllowCredentials(true);
        /*允许访问的客户端域名*/
        corsConfiguration.addAllowedOrigin("*");
        /*允许服务端访问的客户端请求头*/
        corsConfiguration.addAllowedHeader("*");
        /*允许访问的方法名,GET POST等*/
        corsConfiguration.addAllowedMethod("*");
        urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsFilter(urlBasedCorsConfigurationSource);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_34873338/article/details/80734181