由于CORS,我的spring boot + spring data rest应用程序出现问题。此应用程序公开使用@RepositoryRestResource
界面上的JpaRepository
自动创建的端点。
这是一个示例:
@CrossOrigin
@RepositoryRestResource
public interface UserRepository extends JpaRepository<User, Long> {
....
}
[不幸的是,我没有在响应中获得预期的Access-Control-Allow-Origin标头。相反,我使用邮递员获取此标头:
我也尝试在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);
}
}
有人遇到同样的问题吗?
问题已解决!
我意识到您需要在请求中包含标题“ Origin”。如果不是,返回的响应将不包含标题“ Access-Control-Allow-Origin”
愚蠢的错误,但也许可以避免浪费其他人的时间。 :)