GitHub Hot Board

GitHub Hot Board · Hồ sơ kho lưu trữ

graphql-go/graphql

An implementation of GraphQL for Go / Golang (Mô tả đến từ chính kho lưu trữ.)

Go#graphql#graphql-go#subscriptions

Dữ liệu tại October 28graphql-go

Thứ hạng tốt nhất

#443

Mọi thời đại · Go theo ngôn ngữ

10K

Tổng sao

850

Tổng fork

0

Số ngày có mặt (30 ngày)

Giấy phép: MITPush gần nhất: June 23Issue mở (gồm PR): 247Thu thập từ 2026-10-25; chưa rõ = chưa thu thập được

Tài liệu dự án

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

Thứ hạng hiện tại

Diễn biến 30 ngày

Không có bản ghi nào trong 30 ngày qua.

Gắn huy hiệu vào README của bạn · graphql-go/graphql[![Gắn huy hiệu vào README của bạn](https://git.vaiox.xyz/api/badge/graphql-go/graphql.svg)](https://git.vaiox.xyz/vi/repo/graphql-go/graphql)

Badge · 任何仓库都可以挂 —— 未上榜的仓库显示灰章,上完榜会自动点亮。

<a href="https://git.vaiox.xyz/vi/repo/graphql-go/graphql"><img src="https://git.vaiox.xyz/api/badge/graphql-go/graphql.svg" alt="Gắn huy hiệu vào README của bạn" height="20"></a>

← Về bảng xếp hạng

GitHub Hot BoardCỗ Máy Thời GianKhám phá联系我们 · Contact