【问题标题】:Override CORS policy in java springboot在 java spring boot 中覆盖 CORS 策略
【发布时间】:2021-12-19 17:06:59
【问题描述】:

我试图让我的前端服务器从我的后端服务器拉出一个 http 请求,但在我的浏览器控制台中收到以下错误:

Access to XMLHttpRequest at 'http://localhost:8080/run' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我知道这是一个安全协议,但是否有一种简单的方法可以解决此问题并允许端口 8080(我的后端)从端口 (3000) 返回调用?

编辑:我使用 java springboot 作为我的后端框架和 React 作为我的前端框架

编辑 2:我安装并使用了 Moesif Origin & CORS Changer 扩展程序,它可以工作,我只是想知道是否有更永久的解决方法。

【问题讨论】:

标签: spring-boot cors


【解决方案1】:

一种快速的方法是将@CrossOrigin(导入为org.springframework.web.bind.annotation.CrossOrigin)添加到您的Rest Controller。

【讨论】:

    【解决方案2】:

    你也可以使用CRA proxy setting

    【讨论】:

      【解决方案3】:

      这可能会有所帮助:

      @Bean
      public WebMvcConfigurer corsConfigurer() {
          return new WebMvcConfigurerAdapter() {
              @Override
              public void addCorsMappings(CorsRegistry registry) {
                  registry.addMapping("/**").allowedOrigins("http://localhost:3000");
              }
          };
      }
      

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 2019-11-07
      • 2021-03-01
      • 2021-08-14
      • 2019-08-15
      • 1970-01-01
      • 2021-01-23
      • 2021-10-13
      • 2021-03-06
      • 1970-01-01
      相关资源
      最近更新 更多