Low-level GraphQL client for Go.
- Simple, familiar API
- Respects
context.Context
timeouts and cancellation - Build and execute any kind of GraphQL request
- Use strong Go types for response data
- Use variables and upload files
- Simple error handling
// create a client (safe to share across requests) client := graphql.NewClient("https://machinebox.io/graphql") // make a request req := graphql.NewRequest(` query ($key: String!) { items (id:$key) { field1 field2 field3 } } `) // set any variables req.Var("key", "value") // run it and capture the response var respData ResponseStruct if err := client.Run(ctx, req, &respData); err != nil { log.Fatal(err) }
For more information, read the godoc package documentation or the blog post.
Thanks to Chris Broadfoot for design help.