问题描述
package main
import (
"github.com/go-chi/chi"
"go-graphql-demo/graph"
"go-graphql-demo/graph/generated"
"log"
"net/http"
"os"
"github.com/99designs/gqlgen/graphql/handler"
"github.com/99designs/gqlgen/graphql/playground"
)
func main() {
router := chi.NewRouter()
srv := handler.NewDefaultServer(generated.NewExecutableSchema(generated.Config{Resolvers: &graph.Resolver{}}))
router.Handle("/",playground.Handler("GraphQL playground","/query"))
router.Handle("/query",srv)
log.Printf("connect to http://localhost:%s/ for GraphQL playground",port)
log.Fatal(http.ListenAndServe(":8080",nil))
}
按照此使用handler.NewDefaultServer(...) Cannot connect to graphql playground when using go-chi router
参考 https://gqlgen.com/recipes/authentication/
解决方法
log.Fatal(http.ListenAndServe(":8080",nil))
应该
log.Fatal(http.ListenAndServe(":8080",router))
看上去也没有设置port
var。