GitHub Hot Board

GitHub Hot Board · Archive du dépôt

graphql-go/graphql

An implementation of GraphQL for Go / Golang (Cette description provient du dépôt lui-même.)

Données au October 26graphql-go

Meilleur rang

#442

Tous temps · Go par langue

10K

Étoiles totales

850

Forks totaux

0

Jours classés (30 j)

État du projetLicence: MITDernier push: June 23Issues ouvertes (PR incl.): 247

Collecté depuis 2026-10-25 ; inconnu = pas encore récolté

Mettez le badge dans votre README · graphql-go/graphql[![Mettez le badge dans votre README](https://git.vaiox.xyz/api/badge/graphql-go/graphql.svg)](https://git.vaiox.xyz/fr/repo/graphql-go/graphql)
<a href="https://git.vaiox.xyz/fr/repo/graphql-go/graphql"><img src="https://git.vaiox.xyz/api/badge/graphql-go/graphql.svg" alt="Mettez le badge dans votre README" height="20"></a>

Documentation du projet

graphql CircleCI Go Reference Coverage Status Join the chat at https://gitter.im/graphql-go/graphql

An implementation of GraphQL in Go. Follows the official reference implementation graphql-js.

Supports: queries, mutations & subscriptions.

Documentation

godoc: https://pkg.go.dev/github.com/graphql-go/graphql

Contribute Back

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

Getting Started

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.

Third Party Libraries

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.

Blog Posts

Classements actuels

Évolution sur 30 jours

Aucun classement au cours des 30 derniers jours.

Projets similaires · sujets partagés

← Retour aux classements