diff --git a/server.go b/server.go index 544da64..c049825 100644 --- a/server.go +++ b/server.go @@ -1,6 +1,9 @@ package main import ( + "context" + "github.com/99designs/gqlgen/graphql" + "github.com/vektah/gqlparser/v2/gqlerror" "log" "net/http" "os" @@ -20,6 +23,16 @@ func main() { } srv := handler.NewDefaultServer(generated.NewExecutableSchema(generated.Config{Resolvers: &graph.Resolver{}})) + // エラー処理を書く + srv.SetErrorPresenter(func(ctx context.Context, e error) *gqlerror.Error { + err := graphql.DefaultErrorPresenter(ctx, e) + err.Message = e.Error() + err.Extensions = map[string]interface{}{ + "key1": "value1", + "key2": "value2", + } + return err + }) http.Handle("/", playground.Handler("GraphQL playground", "/query")) http.Handle("/query", srv)