springboot 跨域配置
时间: 2023-05-08 15:58:47 浏览: 108
springboot设置跨域访问
Spring Boot 支持跨域请求,让前端可以访问不同域名下的 API 接口。
要实现 Spring Boot 的跨域访问,有两种方式:
1. 使用 @CrossOrigin 注解
通过在 Controller 的方法上添加 @CrossOrigin 注解,实现对某个方法的跨域支持。
例如:
```
@CrossOrigin(origins = "*", allowedHeaders = "*")
@GetMapping("/example")
public Example getExample() {
return new Example();
}
```
在上述代码中,@CrossOrigin 注解中的 origins 参数表示允许的域名,这里使用通配符 * 表示允许所有域名访问,allowedHeaders 表示允许的请求头。
2. 通过配置类添加全局跨域配置
创建一个名称为 CorsConfig 的配置类,通过配置 CorsConfigurationSource 的方法实现全局跨域支持。
例如:
```
@Configuration
public class CorsConfig {
@Bean
public CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.setAllowedOrigins(Arrays.asList("*"));
configuration.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "DELETE"));
configuration.setAllowedHeaders(Arrays.asList("*"));
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}
}
```
在上述代码中,设置了允许的域名、请求方法、请求头,并使用 UrlBasedCorsConfigurationSource 将其应用到全局。注意,这里的路径 /** 表示所有路径都支持跨域访问。
以上两种方式都可以实现 Spring Boot 的跨域支持,根据具体需求选择使用即可。
阅读全文