springboot中如何配置Access-Control-Allow-Origin: *
时间: 2024-10-22 19:02:03 浏览: 29
SpringBoot跨域Access-Control-Allow-Origin实现解析
5星 · 资源好评率100%
在Spring Boot中,如果你的应用需要支持跨域请求并且希望允许所有的源(*),你可以通过创建一个过滤器(Filter)或者在全局启用Spring MVC的CORS处理。这里提供两种方法:
**方法一:使用CorsConfigurationSupport**
1. 首先,你需要在Spring的配置类(如ApplicationConfig)中创建一个CorsConfiguration实例:
```java
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 WebConfig {
@Bean
public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
config.addAllowedOrigin("*");
config.addAllowedHeader("*");
config.addAllowedMethod("*");
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
}
```
这将允许所有来源的请求,并且允许任意头和方法。
**方法二:启用全局CORS**
如果你只想简化配置,可以在application.properties文件中添加如下内容:
```
spring.mvc.cors.enabled=true
spring.mvc.cors.allowedOrigins=* // 允许所有来源
```
这种方法同样会允许所有的源访问你的API。
这两种方法都可以实现`Access-Control-Allow-Origin: *`的效果,选择哪种取决于你的项目需求和复杂程度。
阅读全文