温馨提示×

SpringBoot中怎么实现跨域资源共享

小亿
86
2024-03-08 09:08:25
栏目: 编程语言

在SpringBoot中实现跨域资源共享(CORS)有多种方式,以下是其中一种常用的方法:

  1. 在SpringBoot的配置类中添加跨域配置:
@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,可以根据实际需求调整配置。

  1. 使用@CrossOrigin注解:

在Controller层的方法上添加@CrossOrigin注解,也可以实现跨域资源共享,例如:

@RestController
public class MyController {

    @CrossOrigin(origins = "*", maxAge = 3600)
    @GetMapping("/hello")
    public String hello() {
        return "Hello, world!";
    }
}

以上是两种常用的实现跨域资源共享的方法,在实际项目中,可以根据需求选择适合的方式。

0