在Spring Boot中,要设置支持跨域请求,你可以使用Spring Web 提供的 CorsRegistry
和 WebMvcConfigurer
接口来配置跨域资源共享(CORS)。以下是一种简单的配置方法:
- 创建一个配置类,实现
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("/**")
表示允许所有的路径进行跨域访问,可以根据实际需求修改成适当的路径。
-
上述配置将允许所有来源(
allowedOrigins("*")
),支持的请求方法为 GET、POST、PUT 和 DELETE(allowedMethods("GET", "POST", "PUT", "DELETE")
),允许所有请求头(allowedHeaders("*")
),支持跨域用户凭证(allowCredentials(true)
),并设置预检请求的有效期为 3600 秒(maxAge(3600)
)。 -
注册配置类,可以通过在主应用程序类(
@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