在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!";
}
}
以上是兩種常用的實現跨域資源共享的方法,在實際項目中,可以根據需求選擇適合的方式。