前端连接Java Spring Boot API时如何解决CORS策略阻塞?

问题描述 投票:0回答:1

如何将我的前端(html/css/js)连接到我的后端(java spring boot,jpa)? 连接它们后,如何将全栈应用程序上传到 aws?

我尝试使用从 http://127.0.0.1:5500/index.html 到 http://localhost:8080 的 fetch。

但错误显示:被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以在禁用 CORS 的情况下获取资源..

我用谷歌搜索了这个,人们说我不能这样做,因为有两个不同的主机。

我不知道现在该怎么办。我是后端开发和 api 的新手。

我现在的目标是(前端 -> api -> java spring boot -> postgres)。并将其上传到 aws 或其他东西上。我不知道我在说什么了。

java spring cors
1个回答
0
投票

如果您希望前端仅提供少量 api 服务,请将其添加到所需的控制器方法中:

@CrossOrigin(origins = "http://127.0.0.1:5500/")

如果您想要全局配置,您可以在 @SpringBootApplication 类(或 @Configuration 类)上执行此操作:

@Bean
public WebMvcConfigurer corsConfigurer() {
    return new WebMvcConfigurer() {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**").allowedOriginPatterns("http://127.0.0.1:5500").allowCredentials(true);
        }
    };
}

您那里有完整的指南: https://spring.io/guides/gs/rest-service-cors/

© www.soinside.com 2019 - 2024. All rights reserved.