SpringBoot启动类中添加跨域过滤器

189 阅读1分钟

SpringBoot启动类直接添加方法,返回CorsFilter对象,处理跨域问题


package cn.qubo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Bean;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

@SpringBootApplication

@EnableJpaRepositories(basePackages="cn.qubo.repository")
@EntityScan("cn.qubo.pojo")
public class MRStart {
    public static void main(String[] args) {
        SpringApplication.run(MRStart.class);
    }
    
    // 将CorsFilter作为Bena返回
    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        //允许任何域名
        corsConfiguration.addAllowedOrigin("*"); 
        //允许任何头
        corsConfiguration.addAllowedHeader("*"); 
        //允许任何方法
        corsConfiguration.addAllowedMethod("*"); 
        //注册
        source.registerCorsConfiguration("/**", corsConfiguration); 
        return new CorsFilter(source);
    }
}