• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.circleci/H05-Feb-2020-5449

benchutil/H05-Feb-2020-256226

examples/H05-Feb-2020-1,6201,246

gqlerrors/H05-Feb-2020-290248

language/H05-Feb-2020-10,2118,935

testutil/H05-Feb-2020-1,5331,465

.gitignoreH A D05-Feb-202015 22

CONTRIBUTING.mdH A D05-Feb-20205.9 KiB139101

LICENSEH A D05-Feb-20201.1 KiB2217

README.mdH A D05-Feb-20203.3 KiB7660

abstract_test.goH A D05-Feb-202013.8 KiB657616

definition.goH A D05-Feb-202032.6 KiB1,320976

definition_test.goH A D05-Feb-202018.2 KiB669626

directives.goH A D05-Feb-20204.6 KiB149118

directives_test.goH A D05-Feb-202013.4 KiB517486

enum_type_test.goH A D05-Feb-202012.8 KiB463449

executor.goH A D05-Feb-202031.8 KiB1,080874

executor_resolve_test.goH A D05-Feb-20207 KiB267236

executor_schema_test.goH A D05-Feb-20206.9 KiB316289

executor_test.goH A D05-Feb-202054.2 KiB2,4172,134

extensions.goH A D05-Feb-20208 KiB252195

extensions_test.goH A D05-Feb-202011.9 KiB472401

go.modH A D05-Feb-202037 21

graphql.goH A D05-Feb-20202.8 KiB11775

graphql_bench_test.goH A D05-Feb-20202.4 KiB12598

graphql_test.goH A D05-Feb-20206.3 KiB271249

introspection.goH A D05-Feb-202022.4 KiB784705

introspection_test.goH A D05-Feb-202037.3 KiB1,4711,449

kitchen-sink.graphqlH A D05-Feb-2020823 5347

lists_test.goH A D05-Feb-202021.5 KiB926804

located.goH A D05-Feb-20201.1 KiB5244

mutations_test.goH A D05-Feb-20206.5 KiB253233

nonnull_test.goH A D05-Feb-202026.4 KiB1,1741,097

quoted_or_list_internal_test.goH A D05-Feb-2020991 3633

race_test.goH A D05-Feb-20201.2 KiB6556

rules.goH A D05-Feb-202055.5 KiB1,8931,617

rules_arguments_of_correct_type_test.goH A D05-Feb-202023.3 KiB802785

rules_default_values_of_correct_type_test.goH A D05-Feb-20203.6 KiB108103

rules_fields_on_correct_type_test.goH A D05-Feb-20208.8 KiB243233

rules_fragments_on_composite_types_test.goH A D05-Feb-20202.8 KiB8884

rules_known_argument_names_test.goH A D05-Feb-20204.4 KiB136132

rules_known_directives_rule_test.goH A D05-Feb-20205.2 KiB166145

rules_known_fragment_names_test.goH A D05-Feb-20201.3 KiB5652

rules_known_type_names_test.goH A D05-Feb-20201.6 KiB6257

rules_lone_anonymous_operation_rule_test.goH A D05-Feb-20202.2 KiB8478

rules_no_fragment_cycles_test.goH A D05-Feb-20206.2 KiB179171

rules_no_undefined_variables_test.goH A D05-Feb-20208 KiB266262

rules_no_unused_fragments_test.goH A D05-Feb-20203.1 KiB139135

rules_no_unused_variables_test.goH A D05-Feb-20205.2 KiB190186

rules_overlapping_fields_can_be_merged.goH A D05-Feb-202024.8 KiB707473

rules_overlapping_fields_can_be_merged_test.goH A D05-Feb-202026.4 KiB903879

rules_possible_fragment_spreads_test.goH A D05-Feb-20208.2 KiB183174

rules_provided_non_null_arguments_test.goH A D05-Feb-20205.6 KiB178171

rules_scalar_leafs_test.goH A D05-Feb-20203.1 KiB8984

rules_unique_argument_names_test.goH A D05-Feb-20203.6 KiB113109

rules_unique_fragment_names_test.goH A D05-Feb-20202.2 KiB9691

rules_unique_input_field_names_test.goH A D05-Feb-20201.9 KiB6662

rules_unique_operation_names_test.goH A D05-Feb-20202.8 KiB111102

rules_unique_variable_names_test.goH A D05-Feb-20201 KiB2925

rules_variables_are_input_types_test.goH A D05-Feb-2020918 2925

rules_variables_in_allowed_position_test.goH A D05-Feb-20208 KiB247239

scalars.goH A D05-Feb-202010.8 KiB571538

scalars_parse_test.goH A D05-Feb-20201.4 KiB5550

scalars_serialization_test.goH A D05-Feb-20204.9 KiB200175

scalars_test.goH A D05-Feb-202010 KiB807783

schema-kitchen-sink.graphqlH A D05-Feb-20201.3 KiB7152

schema.goH A D05-Feb-202014.5 KiB551434

suggested_list_internal_test.goH A D05-Feb-2020821 2926

type_comparators_internal_test.goH A D05-Feb-20204 KiB150139

type_info.goH A D05-Feb-20207.6 KiB271235

types.goH A D05-Feb-2020537 2012

union_interface_test.goH A D05-Feb-202014.1 KiB642591

util.goH A D05-Feb-20203.5 KiB177145

util_test.goH A D05-Feb-20203.9 KiB179155

validation_test.goH A D05-Feb-202048.2 KiB1,6471,581

validator.goH A D05-Feb-20208.6 KiB288236

validator_test.goH A D05-Feb-20202.5 KiB9883

values.goH A D05-Feb-202011.4 KiB428358

values_test.goH A D05-Feb-2020461 1916

variables_test.goH A D05-Feb-202036.3 KiB1,4691,334

README.md

1# graphql [![CircleCI](https://circleci.com/gh/graphql-go/graphql/tree/master.svg?style=svg)](https://circleci.com/gh/graphql-go/graphql/tree/master) [![GoDoc](https://godoc.org/graphql.co/graphql?status.svg)](https://godoc.org/github.com/graphql-go/graphql) [![Coverage Status](https://coveralls.io/repos/github/graphql-go/graphql/badge.svg?branch=master)](https://coveralls.io/github/graphql-go/graphql?branch=master) [![Join the chat at https://gitter.im/graphql-go/graphql](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/graphql-go/graphql?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
2
3An implementation of GraphQL in Go. Follows the official reference implementation [`graphql-js`](https://github.com/graphql/graphql-js).
4
5Supports: queries, mutations & subscriptions.
6
7### Documentation
8
9godoc: https://godoc.org/github.com/graphql-go/graphql
10
11### Getting Started
12
13To install the library, run:
14```bash
15go get github.com/graphql-go/graphql
16```
17
18The 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.
19
20```go
21package main
22
23import (
24	"encoding/json"
25	"fmt"
26	"log"
27
28	"github.com/graphql-go/graphql"
29)
30
31func main() {
32	// Schema
33	fields := graphql.Fields{
34		"hello": &graphql.Field{
35			Type: graphql.String,
36			Resolve: func(p graphql.ResolveParams) (interface{}, error) {
37				return "world", nil
38			},
39		},
40	}
41	rootQuery := graphql.ObjectConfig{Name: "RootQuery", Fields: fields}
42	schemaConfig := graphql.SchemaConfig{Query: graphql.NewObject(rootQuery)}
43	schema, err := graphql.NewSchema(schemaConfig)
44	if err != nil {
45		log.Fatalf("failed to create new schema, error: %v", err)
46	}
47
48	// Query
49	query := `
50		{
51			hello
52		}
53	`
54	params := graphql.Params{Schema: schema, RequestString: query}
55	r := graphql.Do(params)
56	if len(r.Errors) > 0 {
57		log.Fatalf("failed to execute graphql operation, errors: %+v", r.Errors)
58	}
59	rJSON, _ := json.Marshal(r)
60	fmt.Printf("%s \n", rJSON) // {"data":{"hello":"world"}}
61}
62```
63For more complex examples, refer to the [examples/](https://github.com/graphql-go/graphql/tree/master/examples/) directory and [graphql_test.go](https://github.com/graphql-go/graphql/blob/master/graphql_test.go).
64
65### Third Party Libraries
66| Name          | Author        | Description  |
67|:-------------:|:-------------:|:------------:|
68| [graphql-go-handler](https://github.com/graphql-go/graphql-go-handler) | [Hafiz Ismail](https://github.com/sogko) | Middleware to handle GraphQL queries through HTTP requests. |
69| [graphql-relay-go](https://github.com/graphql-go/graphql-relay-go) | [Hafiz Ismail](https://github.com/sogko) | Lib to construct a graphql-go server supporting react-relay. |
70| [golang-relay-starter-kit](https://github.com/sogko/golang-relay-starter-kit) | [Hafiz Ismail](https://github.com/sogko) | Barebones starting point for a Relay application with Golang GraphQL server. |
71| [dataloader](https://github.com/nicksrandall/dataloader) | [Nick Randall](https://github.com/nicksrandall) | [DataLoader](https://github.com/facebook/dataloader) implementation in Go. |
72
73### Blog Posts
74- [Golang + GraphQL + Relay](https://wehavefaces.net/learn-golang-graphql-relay-1-e59ea174a902)
75
76