rafaelbmateus /
graphql-go
An implementation of GraphQL in Go
27/100 healthLoading repository data…
graphql-go / repository
An implementation of GraphQL for Go / Golang
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
An implementation of GraphQL in Go. Follows the official reference implementation graphql-js.
Supports: queries, mutations & subscriptions.
godoc: https://pkg.go.dev/github.com/graphql-go/graphql
Friendly reminder links are available in case you would like to contribute back into our commitment with Go and open-source.
| Author | PayPal Link |
|---|---|
| Hafiz Ismail | Not available yet. |
| Chris Ramón | https://www.paypal.com/donate/?hosted_button_id=WHUQQYEMTRQBJ |
To install the library, run:
go get github.com/graphql-go/graphql
The following is a simple example which defines a schema with a single hello string-type field and a Resolve method which returns the string world. A GraphQL query is performed against this schema with the resulting output printed in JSON format.
package main
import (
"encoding/json"
"fmt"
"log"
"github.com/graphql-go/graphql"
)
func main() {
// Schema
fields := graphql.Fields{
"hello": &graphql.Field{
Type: graphql.String,
Resolve: func(p graphql.ResolveParams) (interface{}, error) {
return "world", nil
},
},
}
rootQuery := graphql.ObjectConfig{Name: "RootQuery", Fields: fields}
schemaConfig := graphql.SchemaConfig{Query: graphql.NewObject(rootQuery)}
schema, err := graphql.NewSchema(schemaConfig)
if err != nil {
log.Fatalf("failed to create new schema, error: %v", err)
}
// Query
query := `
{
hello
}
`
params := graphql.Params{Schema: schema, RequestString: query}
r := graphql.Do(params)
if len(r.Errors) > 0 {
log.Fatalf("failed to execute graphql operation, errors: %+v", r.Errors)
}
rJSON, _ := json.Marshal(r)
fmt.Printf("%s \n", rJSON) // {"data":{"hello":"world"}}
}
For more complex examples, refer to the examples/ directory and graphql_test.go.
| Name | Author | Description |
|---|---|---|
| graphql-go-handler | Hafiz Ismail | Middleware to handle GraphQL queries through HTTP requests. |
| graphql-relay-go | Hafiz Ismail | Lib to construct a graphql-go server supporting react-relay. |
| golang-relay-starter-kit | Hafiz Ismail | Barebones starting point for a Relay application with Golang GraphQL server. |
| dataloader | Nick Randall | DataLoader implementation in Go. |
Selected from shared topics, language and repository description—not editorial ratings.
rafaelbmateus /
An implementation of GraphQL in Go
27/100 healthalexandrebodin /
An implementation of GraphQL for Go http://graphql.org
37/100 healthdmytro-feshchenko /
An implementation of Blog application using Go language with GraphQL and React
27/100 health