Go:如何使用gqlgen graphql实现禁用CORS?

Go:如何使用gqlgen graphql实现禁用CORS?,go,cors,graphql,Go,Cors,Graphql,我正在使用as GraphQL服务器。我使用从前端应用程序连接到此服务器 如果我编译前端代码并将其作为GraphQL服务器的静态内容提供,那么一切都正常工作 问题: 在开发过程中,我在http://localhost:8080我在一个单独的服务器上运行前端代码http://localhost:3000。这样我就得到了CORS错误 在创建客户端时,我通过指定no cors选项在前端解决了这个问题,但后端仍然为我的请求提供400秒 问题: 如何在基于gqlgen的GraphQLAPI中禁用CORS

我正在使用as GraphQL服务器。我使用从前端应用程序连接到此服务器

如果我编译前端代码并将其作为GraphQL服务器的静态内容提供,那么一切都正常工作

问题:

在开发过程中,我在
http://localhost:8080
我在一个单独的服务器上运行前端代码
http://localhost:3000
。这样我就得到了CORS错误

在创建客户端时,我通过指定
no cors
选项在前端解决了这个问题,但后端仍然为我的请求提供400秒

问题:

如何在基于gqlgen的GraphQLAPI中禁用CORS

代码:

config := gql.Config{Resolvers: &gql.Resolver{}}
handler := handler.GraphQL(gql.NewExecutableSchema(config))
http.Handle("/query", handler)
http.ListenAndServe(":8080", nil)
完整的服务器端代码可用

我所尝试的


我遵循了一个不起作用的规则。我检查了StackOverflow上的几个解决方案,例如,但是它们提供了一个特定于库的解决方案,这与我的情况不符。

我认为,如果您设置这个简单的中间件,应该就足够了

func-cors(h http.HandlerFunc)http.HandlerFunc{
return func(w http.ResponseWriter,r*http.Request){
w、 Header().Set(“访问控制允许原点”、“*”)
w、 Header().Set(“访问控制允许方法”,“*”)
w、 Header().Set(“访问控制允许标头”,“*”)
h(w,r)
}
}
...
Handle(“/query”,cors(handler))
...

此外,我认为在开发以外的环境中对其进行相应的调整是很好的。

我认为,如果您设置了这个简单的中间件,就足够了

func-cors(h http.HandlerFunc)http.HandlerFunc{
return func(w http.ResponseWriter,r*http.Request){
w、 Header().Set(“访问控制允许原点”、“*”)
w、 Header().Set(“访问控制允许方法”,“*”)
w、 Header().Set(“访问控制允许标头”,“*”)
h(w,r)
}
}
...
Handle(“/query”,cors(handler))
...
另外,我认为在开发以外的环境中对其进行相应的调整是很好的