SpringBoot跨域
时间: 2025-01-25 17:03:27 浏览: 47
### 解决Spring Boot项目中的跨域问题
#### 方法一:使用`@CrossOrigin`注解
在控制器类或特定方法上应用`@CrossOrigin`注解可以轻松启用CORS支持。此方式适合于细粒度控制,即针对单个端点指定允许的源、HTTP动词和其他参数。
```java
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@CrossOrigin(origins = "http://example.com")
@GetMapping("/greeting")
public String greeting() {
return "Hello, World!";
}
}
```
这种方式简单直观,适用于小型应用程序或是仅需对部分接口开放跨域访问的情况[^3]。
#### 方法二:配置全局CORS
对于更复杂的场景,可能希望在整个应用程序范围内统一管理CORS策略。这可通过创建并注册一个实现了`WebMvcConfigurer`接口的Bean来达成:
```java
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://example.com")
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS");
}
}
```
上述代码片段展示了如何定义一套默认应用于所有路径(`/**`)上的跨域规则;当然也可以根据实际需求调整匹配模式以及许可的操作类型等细节[^1]。
通过这两种主要途径之一——局部性的`@CrossOrigin`标注或者是集中式的配置方案,在Spring Boot框架内实施有效的跨域资源共享机制并非难事。选择哪种取决于项目的规模和个人偏好等因素。
阅读全文
相关推荐


















