在Spring Boot中,要设置支持跨域请求,你可以使用Spring Web 提供的 CorsRegistryWebMvcConfigurer 接口来配置跨域资源共享(CORS)。以下是一种简单的配置方法:

  1. 创建一个配置类,实现 WebMvcConfigurer 接口:
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
            .allowedOrigins("*")  // 允许所有来源
            .allowedMethods("GET", "POST", "PUT", "DELETE")  // 允许的请求方法
            .allowedHeaders("*")  // 允许的请求头
            .allowCredentials(true)  // 是否支持跨域用户凭证
            .maxAge(3600);  // 预检请求的有效期,单位秒
    }
}

在上述示例中,addMapping("/**") 表示允许所有的路径进行跨域访问,可以根据实际需求修改成适当的路径。

  1. 上述配置将允许所有来源(allowedOrigins("*")),支持的请求方法为 GET、POST、PUT 和 DELETE(allowedMethods("GET", "POST", "PUT", "DELETE")),允许所有请求头(allowedHeaders("*")),支持跨域用户凭证(allowCredentials(true)),并设置预检请求的有效期为 3600 秒(maxAge(3600))。
  2. 注册配置类,可以通过在主应用程序类(@SpringBootApplication 注解的类)上添加 @Import(CorsConfig.class) 来注册配置:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Import;

@SpringBootApplication
@Import(CorsConfig.class)
public class YourSpringBootApplication {

    public static void main(String[] args) {
        SpringApplication.run(YourSpringBootApplication.class, args);
    }
}

通过以上配置,你的Spring Boot 应用程序将支持跨域请求。请根据实际需求修改配置,以确保安全性和符合你的应用程序的特定要求。

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.