GraphQL Query Language Workshop

Eve Porcello
@eveporcello
eve@moonhighway.com
github.com/moonhighway/graphql-query-language
Tahoe City, CA








GraphQL is a query language for your API.

query {
allAttendees {
name
favoriteMusician {
name
}
favoriteTree {
name
}
vendor
}
}
https://treefest.com/graphql
{
"data":{
"allAttendees": [
{
"name": "Jean Johnson",
"favoriteMusician": {
"name": "Plantadestiny"
},
"favoriteTree": {
"name": "SugarPine"
},
"vendor": false
}
]
}
}
https://treefest.com/graphql
-
GraphQL Intro
-
GraphQL Playground
-
Queries
-
Mutations
-
Fragments
-
Interfaces, Unions
-
Subscriptions
Agenda


Pet
Biscuit
Customer
Joe
Pet
Biscuit
Pet
Sandwich
Pet
Jungle
Customer
Joe

enum PetCategory
DOG
CAT
STINGRAY
RABBIT
type Pet
id: ID!
name: String!
category: PetCategory!
...
HORSE




sleepAmount: Int
curious: Boolean
favoriteFood: String
floppy: Int
good: Boolean
chill: Boolean
fast: Boolean





streetsmart: Boolean
majestic: Boolean
interface Pet
type Cat extends Pet
id: ID!
name: String
...
sleepAmount: Int
curious: Boolean
id: ID!
name: String!
weight: Float
status: PetStatus
photo: Photo
dueDate: Date
inCareOf: Customer
type Dog extends Pet
id: ID!
name: String
...
good: Boolean
type Rabbit extends Pet
id: ID!
name: String
...
favoriteFood: String
floppy: Int
type Stingray
extends Pet
id: ID!
name: String
...
chill: Boolean
fast: Boolean
type Horse
extends Pet
id: ID!
name: String
...
streetsmart: Boolean
majestic: Boolean
type *TBDFuturePet
extends Pet
id: ID!
name: String
...
newField: _____
newField: _____






Query Language Workshop
By Moon Highway
Query Language Workshop
- 646