How do I define schemas and resolvers with gqlgen in Go?

To define schemas and resolvers with gqlgen in Go, you need to start by creating a GraphQL schema file and then generate the necessary Go code using gqlgen. Below is a simple example that demonstrates how to do this.

// schema.graphql type Query { hello: String! } // main.go package main import ( "github.com/graphql-go/graphql" "github.com/graphql-go/handler" "net/http" ) func main() { // Define the schema helloField := graphql.Field{ Type: graphql.String, Resolve: func(p graphql.ResolveParams) (interface{}, error) { return "Hello, World!", nil }, } queryType := graphql.ObjectConfig{Name: "Query", Fields: graphql.Fields{"hello": &helloField}} schema, _ := graphql.NewSchema(graphql.SchemaConfig{Query: graphql.NewObject(queryType)}) h := handler.New(&handler.Config{ Schema: &schema, Pretty: true, }) http.Handle("/graphql", h) http.ListenAndServe(":8080", nil) }

gqlgen Go GraphQL schema resolver