首页 > 解决方案 > 使用“*”通配符的 Spring CORS 映射不起作用

问题描述

我有一个 Spring Boot 应用程序。在 Application 类中,我像这样定义我的 CORS 映射:

@Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurerAdapter() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/lists");
            }
        };
    }

一切都适用于此,但是当我想添加一个包含例如这样的 ID 的映射时

registry.addMapping("/lists/**");  // it also doesn't work with '/lists/*'

,映射不再起作用,并且我在“/lists/142”之类的 GET 请求上收到“No Access-Control-Allow-Origin Header”错误

https://spring.io/blog/2015/06/08/cors-support-in-spring-framework所示,我尝试使用“/**”作为映射来允许对所有端点 URL 的请求,但只有没有动态值(例如 ID)的端点似乎可以正常工作。

标签: springspring-bootcors

解决方案


尝试使用

@CrossOrigin

这可以作为通配符正常工作。


推荐阅读