Constructing a GraphQL schema
The schema is the vocabulary used by the GraphQL backend server and the Apollo Client implementation in the frontend. The GraphQL type system enables the schema to describe the data that's available and how to put it all together when a query request comes in. This is what makes the whole approach so scalable – the fact that the GraphQL runtime figures out how to put data together. All you need to supply are functions that tell GraphQL where the data is – for example, in a database or a remote service endpoint.
Let's take a look at some of the types used in the GraphQL schema for the Todo app. We'll start with Todo
itself:
type Todo { id: ID! text: String! complete: Boolean }
This type describes the Todo
objects used throughout the application, including all the optional and required fields for this type. In the example code, you can see that the types followed with an exclamation...