Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SpringBoot CORS过滤器未应用_Spring_Cors_Spring Boot - Fatal编程技术网

SpringBoot CORS过滤器未应用

SpringBoot CORS过滤器未应用,spring,cors,spring-boot,Spring,Cors,Spring Boot,我实际上在做一个SrpingBoot后端 为了解决CORS问题,我使用了随处可见的简单过滤器 @Component public class CORSResponseFilter implements Filter { @Override public void init(FilterConfig arg0) throws ServletException {} @Override public void doFilter(ServletRequest req

我实际上在做一个SrpingBoot后端

为了解决CORS问题,我使用了随处可见的简单过滤器

@Component
public class CORSResponseFilter implements Filter {

    @Override
    public void init(FilterConfig arg0) throws ServletException {}

    @Override
    public void doFilter(ServletRequest req, ServletResponse resp,
            FilterChain chain) throws IOException, ServletException {

        HttpServletResponse response=(HttpServletResponse) resp;

        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

        chain.doFilter(req, resp);
    }

    @Override
    public void destroy() {}

}
此过滤器添加到此处的配置中:

public class ApplicationConfiguration extends ResourceConfig {

    public ApplicationConfiguration() {
        super();

        // Create a recursive package scanner
        PackageNamesScanner resourceFinder = new PackageNamesScanner(
                new String[] { "X.service" }, true);
        // Register the scanner with this Application
        registerFinder(resourceFinder);
        register(JacksonFeature.class);
        // Mise en place du filtre
        register(CORSResponseFilter.class);
    }
}
但我还是犯了这个错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. 

我遗漏了什么?

端口有问题,与代码无关。

只需将其作为bean添加到配置中……问题解决了。请求没有在正确的端口上完成。谢谢你的回答。@Apédémak如果你的问题解决了,你能写一个答案,这样它就不会显示为未回答吗?我会,我只是在两天之前无法验证。嗯,我不记得确切的问题,但我知道我的代码工作得很好。此错误是由于两个端口之间发生冲突,并且客户端未到达我的后端服务器。我的问题也解决了,我需要在我的控制器中处理HTTP选项请求(飞行前请求)@mohi你是如何处理飞行前的请求的?@Jayraj也许这会有所帮助:我在控制器中有一些类似的方法来处理选项请求