Springboot跨域问题
时间: 2023-07-06 10:30:41 浏览: 120
Spring Boot默认情况下不支持跨域请求,需要手动进行配置。以下是一种跨域请求的配置方法:
1. 在Spring Boot的配置类上添加注解`@Configuration`和`@EnableWebMvc`。
2. 添加一个配置类`CorsConfig`,用于配置跨域请求相关的参数。
```java
@Configuration
public class CorsConfig {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "POST", "PUT", "DELETE")
.allowedHeaders("*")
.allowCredentials(true)
.maxAge(3600);
}
};
}
}
```
3. 在Controller类或方法上添加注解`@CrossOrigin`,用于允许特定的跨域请求。
```java
@RestController
@RequestMapping("/api")
@CrossOrigin(origins = "*", maxAge = 3600)
public class ApiController {
@GetMapping("/users")
public List<User> getUsers() {
List<User> users = userService.getUsers();
return users;
}
}
```
这样配置后,就可以允许所有来源的跨域请求,并且允许GET、POST、PUT、DELETE方法,允许所有头信息,允许带cookie,并且缓存时间为1小时。
阅读全文