springboot跨域配置
时间: 2023-06-11 09:04:41 浏览: 38
可以使用@Configuration注解的类配置WebMvcConfigurer实现跨域配置。具体配置代码如下:
```
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
.allowCredentials(false)
.maxAge(3600);
}
}
```
其中,allowedOrigins指定允许的跨域请求来源,"*"表示允许所有来源;allowedMethods指定允许的请求方式;allowCredentials表示是否允许发送cookie,与Access-Control-Allow-Credentials响应头对应;maxAge表示缓存预检请求的时间,单位为秒。
相关问题
springboot 跨域配置
以下是Spring Boot跨域配置的示例代码:
```java
@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);
}
}
```
这段代码使用了`@Configuration`注解来标识这是一个配置类,并实现了`WebMvcConfigurer`接口。在`addCorsMappings`方法中,我们可以配置允许跨域访问的路径、允许的请求方法、允许的请求头、是否允许发送Cookie等。
上述示例中的配置允许所有的请求来源(`allowedOrigins("*")`),允许的请求方法包括GET、POST、PUT和DELETE(`allowedMethods("GET", "POST", "PUT", "DELETE")`),允许所有的请求头(`allowedHeaders("*")`),允许发送Cookie(`allowCredentials(true)`),并设置了最大缓存时间为3600秒(`maxAge(3600)`)。
请注意,这只是一个简单的示例,实际的跨域配置可能会根据具体的需求而有所不同。
Springboot跨域配置
在Spring Boot中实现跨域配置可以通过两种方式:使用注解和配置类。
1. 使用注解方式:
在需要进行跨域的Controller类或方法上添加`@CrossOrigin`注解。例如:
```java
@CrossOrigin(origins = "http://example.com", maxAge = 3600)
@RestController
@RequestMapping("/api")
public class MyController {
// ...
}
```
上述代码中的`@CrossOrigin`注解指定了允许跨域请求的来源(`origins`参数)和最大缓存时间(`maxAge`参数)。你可以根据实际需求进行配置。
2. 使用配置类方式:
创建一个配置类,实现`WebMvcConfigurer`接口,并重写`addCorsMappings`方法。例如:
```java
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**")
.allowedOrigins("http://example.com")
.allowedMethods("GET", "POST", "PUT", "DELETE")
.allowedHeaders("*")
.allowCredentials(true)
.maxAge(3600);
}
}
```
上述代码中的`addCorsMappings`方法用于配置允许跨域请求的路径、来源、方法、头部信息、是否允许携带凭证等。
这两种方式都可以实现跨域配置,你可以根据自己的需求选择其中一种方式进行配置。