Graphql

From wikinotes
Revision as of 20:10, 28 November 2020 by Will (talk | contribs) (→‎Query Specific Field-Values)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

GraphQL is an alternative to REST APIs that enables you to query exactly what you need using a single HTTP request, rather than several.

Documentation

docs https://graphql.org/learn/
introspection docs https://graphql.org/learn/introspection/

Example

Graphql is a language, and it's schema is a large file defining all of the available types, queries, and mutations.

# TODO

Notes

graphql: basics
graphql: usage
graphql: datatypes
graphql: schemas
grpahql: syntax

Clients

graphql: graphiql web client
graphqurl cli interpreter

Introspection

List Types

{ __schema { types { name } } }                    # list all types
{ __schema { mutationType { fields { name } } } }  # list all mutations
{ __schema { queryType { fields { name } } } }     # list all queries

Query Available Fields

{
  __type(name: "Droid") {  # GraphQL type we want fields from
    name
    fields {
      name
      type {
        name
        kind
      }
    }
  }
}

Returns all fields, and their type info.

Query Type info

{
  __type(name: "Shop") {
    fields {
      name
      description
    }
  }
}