-
部分跨域
@CrossOrigin注解支持类级别,方法级别添加。可以在controller类或者方法上添加,支持部分接口跨域。在两者上都添加时,方法级别的覆盖类级别的。
属性 | 说明 |
origins | 允许的域列表,“*”表示支持所有的域 |
maxAge | 预响应缓存的最大持续时间,单位秒 |
allowedHeaders | 在实际请求中允许的请求头列表,“*”表示允许所有的headers |
exposedHeaders | 在响应header中设置客户端可见的header,该header不是常见的Cache-Control,Content-Language等,此处设置的header都来自于“Access-Control-Expose-Headers”中。 |
methods | 支持的HTTP请求方法集合 |
allowCredentials |
设置是否发送凭证,该值是在预请求的响应的“Access-Control-Max-Age”上设置的。该值决定在发起跨域请求时,浏览器是否需要发送凭证。 false — cookies不应该包括在内; "" — 意味着未定义,允许所有值; true — 预响应将包括值设置为true的报头Access-Control-Allow-Credentials |
-
全局跨域
在springboot项目环境下,声明如下bean:
@Configuration
public class ConfigService {
@Bean
public WebMvcConfigurer corsConfigurer()
{
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*").allowedMethods("*").allowCredentials(true);
}
};
}
}
就支持全局跨域了。