springboot WebMvcConfigurer 配置跨域
时间: 2025-01-13 18:51:00 浏览: 77
### 如何在 Spring Boot 中使用 WebMvcConfigurer 实现 CORS 配置
为了使应用程序能够处理跨域请求,在 `Spring Boot` 应用程序中可以通过实现 `WebMvcConfigurer` 接口并重写特定的方法来完成 CORS 的配置。具体来说,通过创建一个实现了 `WebMvcConfigurer` 接口的类,并覆盖其中的 `addCorsMappings` 方法可以定义全局范围内的 CORS 设置。
下面是一个具体的例子:
```java
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") // 对所有的路径都生效
.allowedOrigins("*") // 允许所有域名发起跨域调用
.allowedMethods("*") // 支持所有HTTP动词(GET, POST, PUT, DELETE等)
.allowedHeaders("*") // 所有的header都被允许
.exposedHeaders(HttpHeaders.SET_COOKIE) // 暴露Set-Cookie头部给前端
.allowCredentials(true)// 是否支持cookie凭证,默认false
.maxAge(1800); // 提前预检缓存时间设置为半小时
}
}
```
此段代码展示了如何利用 `WebMvcConfigurer` 来启用跨域资源共享功能[^3]。需要注意的是,当设置了 `.allowCredentials(true)` 后,则不允许将 `allowedOrigins` 设定为 `"*"` ,因为这会带来安全隐患;此时应该指定确切的信任源站列表。
此外,如果希望保留 Spring Boot 自带的功能特性的同时又添加额外的MVC配置(比如拦截器、格式化工具、视图控制器等功能),可以在不加 `@EnableWebMvc` 注解的情况下编写自己的 `@Configuration` 类继承自 `WebMvcConfigurer` 接口[^2]。
阅读全文
相关推荐


















