在SpringBoot中实现跨域资源共享(CORS)有多种方式,以下是其中一种常用的方法:
@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) // 是否允许发送 Cookie
.maxAge(3600); // 探测请求的有效期
}
};
}
}
上述代码会允许所有域名访问,并允许发送 Cookie,可以根据实际需求调整配置。
在Controller层的方法上添加@CrossOrigin注解,也可以实现跨域资源共享,例如:
@RestController
public class MyController {
@CrossOrigin(origins = "*", maxAge = 3600)
@GetMapping("/hello")
public String hello() {
return "Hello, world!";
}
}
以上是两种常用的实现跨域资源共享的方法,在实际项目中,可以根据需求选择适合的方式。