Не удается подключиться к игровой площадке graphql при использовании роутера go -chi - PullRequest
0 голосов
/ 28 марта 2020

Я использую gqlgen для создания go сервера graphql.

В этом руководстве настройка по умолчанию для localhost:8080 работает отлично.

сервер. go

...
func main() {
    srv := handler.NewDefaultServer(generated.NewExecutableSchema(generated.Config{Resolvers: &graph.Resolver{}}))

    http.Handle("/", playground.Handler("GraphQL playground", "/query"))
    http.Handle("/query", srv)

    log.Fatal(http.ListenAndServe(":8080", nil))
}
...

Однако, если я переключаюсь на маршрутизатор пакета Chi, я получаю ошибку 400:

server. go

...
func main() {
    router := chi.NewRouter()

    srv := handler.New(generated.NewExecutableSchema(generated.Config{Resolvers: &graph.Resolver{}}))

    router.Handle("/", playground.Handler("GraphQL Playground", "/query"))
    router.Handle("/query", srv)

    err := http.ListenAndServe(":8080", router)
    if err != nil {
        panic(err)
    }
}
...

enter image description here

1 Ответ

0 голосов
/ 31 марта 2020

Оказывается, вы должны использовать NewDefaultServer вместо New:

srv := handler.NewDefaultServer(generated.NewExecutableSchema(generated.Config{Resolvers: &graph.Resolver{}}))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...