Go:如何使用gqlgen graphql实现禁用CORS?
我正在使用as GraphQL服务器。我使用从前端应用程序连接到此服务器 如果我编译前端代码并将其作为GraphQL服务器的静态内容提供,那么一切都正常工作 问题: 在开发过程中,我在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
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))
...
另外,我认为在开发以外的环境中对其进行相应的调整是很好的