启用CORS原点GraphQL

我正在进行GraphQL和Spring Boot项目。该API使用raphiQL运行良好,但当尝试使用Apollo vueJS使用它时,会导致CORS原点错误。

我在实现GraphQLQueryResolver的ProductQuery类中使用@CrossOrigin注释,如下所示:

 @CrossOrigin(origins = "https://localhost:8081")
public List<Product> getProducts(){return this.productService.findAll(); } 

以下是前端项目显示的错误:

感谢您的帮助。


解决方案

对我有效的是官方docs

中解释的解决方案

我的configurer bean版本如下所示:

@Bean
public WebMvcConfigurer corsConfigurer() {
    return new WebMvcConfigurer() {
        @Override
        public void addCorsMappings(final CorsRegistry registry) {
            registry.addMapping("/graphql/**")
                    .allowedOrigins(CorsConfiguration.ALL)
                    .allowedHeaders(CorsConfiguration.ALL)
                    .allowedMethods(CorsConfiguration.ALL);
        }
    };
}

相关文章