带“*”通配符的 Spring CORS 映射不起作用

McR*_*ven 2 spring cors spring-boot

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

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

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

registry.addMapping("/lists/**");  // it also doesn't work with '/lists/*'
Run Code Online (Sandbox Code Playgroud)

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

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

小智 5

尝试使用

@CrossOrigin
Run Code Online (Sandbox Code Playgroud)

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