Spring Boot + Spring Data Rest存储库中的@CORSOrigin注释的CORS问题

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

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

这是一个示例:

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

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

enter image description here

我也尝试在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个回答
-1
投票

问题已解决!

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

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

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