错误:请求的资源上不存在"访问控制允许源"标头。即使在包括 CORS 支持之后



我正在尝试在春季启动中编写一个 Api,并尝试使用我编写的前端访问它。 我已经添加了Cors支持,但仍然收到此错误: *

加载 http://localhost:8080/失败:否 "访问控制允许源"标头存在于请求的上 资源。因此,不允许访问源"http://localhost"。

我在主文件中的Cors支持是:

@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/greeting-javaconfig").allowedOrigins("*");
}
};
}

我正在使用阿帕奇服务器作为前端。

索普蒙尼可以帮助我解决这个问题吗?

要在 spring-boot 中启用 CORS,您需要在 Spring 引导应用程序中添加以下过滤器类。

@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class SimpleCorsFilter implements Filter {
public SimpleCorsFilter() {
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
HttpServletRequest request = (HttpServletRequest) req;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
response.setHeader("Access-Control-Expose-Headers", "WWW-Authenticate");
}
@Override
public void init(FilterConfig filterConfig) {
}
@Override
public void destroy() {
}
}

相关内容

最新更新