allowedOrigins cannot contain the special value "*"

allowedorigins,cannot,contain,the,special,value · 浏览次数 : 5

小编点评

## Spring Boot版本更新后跨域配置更改 以下是 Spring Boot版本大于 2.4 中配置跨域的改变: **原来配置(@Configurationpublic class WebConfig):** ```java @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*\") .allowedMethods("GET, HEAD, POST, PUT, DELETE, OPTIONS") .allowCredentials(true) .maxAge(3600) .allowedHeaders("*\"); } ``` **修改后的配置(@Configurationpublic class WebConfig):** ```java @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOriginPatterns("*\") .allowedMethods("GET, HEAD, POST, PUT, DELETE, OPTIONS") .allowCredentials(true) .maxAge(3600) .allowedHeaders("*\"); } ``` **主要变化:** * 使用 `allowedOriginPatterns` 替换 `allowedOrigins` ,并在每个方法中添加 `patterns` 参数,以指定允许的域名或 IP 地址范围。 * `allowedOriginPatterns` 支持正则表达式,允许您更灵活地指定允许的域名或 IP 地址范围。 **总结:** * 使用 `allowedOriginPatterns` 可以更加简洁地配置跨域支持。 * 该方法在 Spring Boot 版本大于 2.4 中被用于配置跨域。

正文

Spring Boot的版本高于 2.4以后 ,原来的配置已经不适合目前的版本
将代码中的allowedOrigins改为allowedOriginPatterns


@Configuration
public class WebConfig implements WebMvcConfigurer {

    /**
     * 跨域支持
     *
     * @param registry
     */
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
                .allowCredentials(true)
                .maxAge(3600)
                .allowedHeaders("*");
    }

}

修改后

@Configuration
public class WebConfig implements WebMvcConfigurer {


    /**
     * 跨域支持
     *
     * @param registry
     */
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOriginPatterns("*")
                .allowedMethods("GET","HEAD","POST","PUT","DELETE","OPTIONS")
                .allowCredentials(true)
                .maxAge(3600)
                .allowedHeaders("*");
    }

}

与allowedOrigins cannot contain the special value "*"相似的内容: