springboot 跨域问题

    ~部分跨域

@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);
            }
        };
    }
}
发布了89 篇原创文章 · 获赞 32 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41345773/article/details/99478877
今日推荐