Я использую gqlgen в качестве сервера GraphQL. Я подключаюсь к этому серверу из внешнего приложения, используя клиент Apollo .
Все работает правильно, если я скомпилировал код переднего плана и предоставил его сервером StaQL * stati c.
Проблема:
Во время разработки у меня есть GraphQL API на основе Go, работающий на http://localhost:8080
, и у меня есть код интерфейса на отдельном сервере, работающем на http://localhost:3000
. Таким образом, я получаю ошибки CORS.
Мне удалось исправить проблему на внешней стороне, указав опцию no-cors
при создании клиента, но внутренняя часть все равно отдает 400 секунд моим запросам.
Вопрос:
Как отключить CORS в API GraphQL на основе gqlgen?
Код:
config := gql.Config{Resolvers: &gql.Resolver{}}
handler := handler.GraphQL(gql.NewExecutableSchema(config))
http.Handle("/query", handler)
http.ListenAndServe(":8080", nil)
Полный код на стороне сервера доступен на GitHub .
Что я пробовал :
Я следовал решение от документация , которая не работала. Я проверил несколько решений в StackOverflow, например , это , однако они дают библиотеку, определяющую c решений, которые в моем случае не стоят.