【发布时间】:2018-03-16 20:16:09
【问题描述】:
我是春天的新手。在 4.3.9 版本上有一个现有的 spring 项目(不是 maven,它是一个动态的 web 项目),它工作正常。我在项目中编写了一个新的@RestController 并尝试从不同的机器访问这个控制器。它把我扔了
XMLHttpRequest cannot load http://<URL>. No 'Access-Control-Allow-Origin' header is present on the requested
这里只有两个文件可用于配置。没有用于配置的 XML 文件。我很困惑在哪里完全为应用程序添加 cors 过滤器配置。我在 AppInitializer 类中添加了 addCorsMappings。但它仍然不起作用。
如果我添加@CrossOrigin(origins = "*", maxAge = 3600),它仅适用于控制器。我想要整个应用程序。
@CrossOrigin(origins = "*", maxAge = 3600) -> This works only controller lvel
@RestController
public class CTUController {
// code
}
请告诉我在哪里添加
AppConfig 类
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "net.qdj.spring")
public class AppConfig{
}
AppInitializer
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
protected Class[] getRootConfigClasses() {
return new Class[] { AppConfig.class };
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
protected Class[] getServletConfigClasses() {
return null;
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
// Added for CORS -> Not working for application level
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**");
}
}
请在这方面给我建议
【问题讨论】:
标签: java spring spring-mvc cors