Graphql: Difference between revisions

From wikinotes
Line 21: Line 21:
| [[graphql: basics]]
| [[graphql: basics]]
|-
|-
| [[graphql: usage]]
| [[graphql usage]]
|-
|-
| [[graphql queries]]
| [[graphql queries]]

Revision as of 02:32, 3 September 2021

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

TODO:

These notes are bad. host, validate, and reorganize

Documentation

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

Notes

graphql: basics
graphql usage
graphql queries
graphql mutations
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
    }
  }
}