spring跨域请求

springmvc的filter需要在web.xml中放在比较靠前的位置,请求按顺序进入filter,其他filter直接过滤掉了的话就不生效了。
spring boot可以配置一个@Bean,org.springframework.boot.web.servlet.FilterRegistrationBean,org.springframework.web.filter.CorsFilter,构造函数使用一个org.springframework.web.cors.CorsConfiguration;

@Bean
    public FilterRegistrationBean corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true);
        config.addAllowedOrigin("*");
        config.addAllowedHeader("*");
        config.addAllowedMethod("*");
        config.setMaxAge(3600L);
        source.registerCorsConfiguration("/**", config);
        FilterRegistrationBean filterBean = new FilterRegistrationBean<>(new CorsFilter(source));
        filterBean.setOrder(0);
        return filterBean;
    }

你可能感兴趣的:(spring跨域请求)