Springboot项目配置全局允许跨域和单个方法允许跨域

全局允许跨域配置类

编写一个配置类即可

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

@Configuration
public class CommonIntercepter {
    private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        //允许任何域名
        corsConfiguration.addAllowedOrigin("*");
        //允许任何头
        corsConfiguration.addAllowedHeader("*");
        //允许任何方法
        corsConfiguration.addAllowedMethod("*");
        return corsConfiguration;
    }

    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        //注册
        source.registerCorsConfiguration("/**", buildConfig());
        return new CorsFilter(source);
    }
}

单个方法允许跨域

在需要跨域的方法上加注解 @CrossOrigin

@RestController
public class TestController {
    @RequestMapping("/a")
    //括号内参数为允许可访问的域列表 这里也可以配置通配符*
    @CrossOrigin("http://localhost:8080")
    public String  t(){
        return "helloworld";
    }
}
发布了10 篇原创文章 · 获赞 46 · 访问量 2492

猜你喜欢

转载自blog.csdn.net/weixin_44793294/article/details/103939387