springboot配置跨域
时间: 2023-06-23 15:08:04 浏览: 133
在 Spring Boot 中进行跨域资源共享 (CORS) 配置的方式有很多种,下面我提供两种常用的方式:
### 方式一:使用 @CrossOrigin 注解
在控制器类或方法上使用 @CrossOrigin 注解即可开启跨域支持。
```java
@RestController
@RequestMapping("/api")
public class ApiController {
@CrossOrigin(origins = "http://localhost:8080")
@GetMapping("/test")
public String test() {
return "Hello World!";
}
}
```
在上面的代码中,@CrossOrigin 注解的 origins 属性指定允许跨域访问的来源,也可以使用通配符 * 表示允许所有来源。
### 方式二:使用 WebMvcConfigurer 配置类
通过 WebMvcConfigurer 配置类可以全局配置跨域支持。具体实现方式如下:
```java
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**")
.allowedOrigins("http://localhost:8080")
.allowedMethods("GET", "POST", "PUT", "DELETE")
.maxAge(3600);
}
}
```
在上面的代码中,我们创建了一个 WebMvcConfigurer 配置类,并重写了 addCorsMappings() 方法,使用 CorsRegistry 配置跨域支持。addMapping() 方法指定了要支持跨域的 URL 路径,allowedOrigins() 方法指定了允许跨域访问的来源,allowedMethods() 方法指定了允许的 HTTP 请求方法,maxAge() 方法指定了预检请求的有效期限。
阅读全文