springboot cors
时间: 2023-09-12 07:04:31 浏览: 102
springboot
在 Spring Boot 中处理跨域资源共享(CORS)可以通过添加 `@CrossOrigin` 注解或者全局配置来实现。以下是两种方法的示例:
1. 使用 `@CrossOrigin` 注解
在需要处理跨域的 Controller 方法上添加 `@CrossOrigin` 注解即可,例如:
```java
@RestController
public class MyController {
@CrossOrigin(origins = "http://localhost:8080")
@GetMapping("/api/data")
public String getData() {
// ...
}
}
```
`@CrossOrigin` 注解的 `origins` 属性指定允许跨域访问的域名,可以使用 `*` 表示允许所有域名跨域。
2. 全局配置
在 Spring Boot 应用程序中添加一个实现了 `WebMvcConfigurer` 接口的配置类,例如:
```java
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**")
.allowedOrigins("http://localhost:8080")
.allowedMethods("GET", "POST", "PUT", "DELETE")
.allowCredentials(true)
.maxAge(3600);
}
}
```
上述代码中,`addCorsMappings` 方法用于配置跨域资源共享,其中:
- `addMapping` 方法指定允许跨域访问的 URL 规则;
- `allowedOrigins` 方法指定允许跨域访问的域名;
- `allowedMethods` 方法指定允许的 HTTP 请求方法;
- `allowCredentials` 方法指定是否允许发送 Cookie;
- `maxAge` 方法指定缓存时间,单位为秒。
以上是处理跨域资源共享的两种方法,根据实际情况选择适合的方式即可。
阅读全文