使用' *'进行Spring CORS映射通配符不起作用

时间:2018-05-24 07:50:44

标签: spring spring-boot 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/*'

,映射不再起作用,我收到了一个" No Access-Control-Allow-Origin Header" GET请求上的错误,如" / lists / 142"

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

2 个答案:

答案 0 :(得分:1)

尝试使用

using RestartManager;

public static class Test
{
    public static void Main()
    {
        using (var rm = new RestartManagerSession())
        {
            // add all processes having the name `explorer`
            rm.RegisterProcess(Process.GetProcessesByName("explorer"));

            // you can also add explorer.exe specifically by 
            // using the `RegisterProcessFile()` method
            //rm.RegisterProcessFile(new FileInfo(Path.Combine(
            //  Environment.GetFolderPath(Environment.SpecialFolder.Windows),
            //  "explorer.exe"
            //)));

            rm.Shutdown(RestartManagerSession.ShutdownType.Normal);
            rm.Restart();
        }
    }
}

这可以用作通配符。

答案 1 :(得分:0)

Try to use

@CrossOrigin(origins = "")

in your controller.