前后端分离后,在前端和后端交互时会遇到跨域问题。
Spring Boot可以通过添加CORS(跨域资源共享)配置来解决跨域问题。以下是一些解决跨域问题的方法:
- 添加CORS配置类
可以创建一个CORS配置类,使用@CrossOrigin注解来指定允许跨域的源和方法。例如:
@Configuration
public class CorsConfig {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.allowedHeaders("*")
.allowCredentials(true)
.maxAge(360);
}
};
}
}
- 使用Spring Boot提供的注解
可以在Controller类或方法上使用@CrossOrigin注解来指定允许跨域的源和方法。例如:
@RestController
@RequestMapping("/api")
@CrossOrigin(origins = "*", methods = {RequestMethod.GET, RequestMethod.POST, RequestMethod.PUT, RequestMethod.DELETE, RequestMethod.OPTIONS})
public class ApiController {
@GetMapping("/users")
public List<User> getUsers() {
// ...
}
// ...
}