【问题标题】:CORS issue in Spring Boot + Spring Data Rest Repositories annotated with @CrossOriginSpring Boot + Spring Data Rest Repositories 中使用 @CrossOrigin 注释的 CORS 问题
【发布时间】:2020-08-27 05:24:50
【问题描述】:

由于 CORS,我的 spring boot + spring data rest 应用程序出现问题。 此应用程序在JpaRepository 接口上公开使用@RepositoryRestResource 自动创建的端点。

这是一个例子:

@CrossOrigin
@RepositoryRestResource
public interface UserRepository extends JpaRepository<User, Long> {
   ....
}

不幸的是,我没有在响应中获得预期的 Access-Control-Allow-Origin 标头。 相反,我使用 Postman 获取此标头:

我还尝试在RepositoryRestConfigurer 中配置 CORS:

@Configuration
public class SpringDataRestCustomization implements RepositoryRestConfigurer {

  @Override
  public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
    config.getCorsRegistry()
        .addMapping("/**")
      .allowedOrigins("*")
      .allowedMethods("GET", "PUT", "DELETE")
      .exposedHeaders("Access-Control-Allow-Origin")
      .allowCredentials(false).maxAge(3600);
  }
}

有人遇到同样的问题吗?

【问题讨论】:

    标签: java spring cors spring-data spring-data-rest


    【解决方案1】:

    问题已解决!

    我意识到您需要在请求中包含标头“Origin”。 如果不是,则返回的响应将不包含标头“Access-Control-Allow-Origin”

    愚蠢的错误,但也许它可以避免为别人浪费时间。 :)

    【讨论】:

      猜你喜欢
      • 2020-07-11
      • 2021-03-07
      • 2019-09-18
      • 2016-10-18
      • 2016-09-27
      • 2015-02-07
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      相关资源
      最近更新 更多