md `
# Rote Learning & Practice
Rote learning side, is simply to make notes. Practice means hands-on experience in using the
## Introduction
### What is GraphQL?
- A Query language for your API
- Both a
- An API standard to build a GraphQL Service
- A server-side runtime for executing queries
- Overall it uses a type system for you define for your data - i.e. e2e everything should become typed
- Backed by your existing code and data
- GraphQL is backed up by your existing code and data - not reliant on your storage
### What is a GraphQL Service?
- A service is create via definining your own types and fields on those specific types.
- Each field is provided a function on each, on each type, i.e. 1 function per field, per type
### What happens when GraphQL Service is ran
- **Queries Single Endpoint** - Service is ran typically from a single URL endpoint, where it receives GraphQL queries to *validate* and *execute*.
- **How queries work** - queries received by the GraphQL service is checked to ensure it only refers to the types and fields defined on that service, then runs the provided functions to produce a results - resolvers???
## Queries and Mutations
### Fields
- **Query Shape** - should have exactly the same shape as the result received
- **Client Queries Server** - the server (must) knows exactly what *field* the client is asking for
#### Fields and Objects
- **Field Sub-sections** - fields refer to objects, these objects contains sub-selection of fields
- **Traversing Objects** - GraphQL queries traverse related objects and their subsequent fields. Enables the client to fetch a lot data in one request - compared to multiple requests using REST
-
`