your API, and a server-side runtime for executing queries by using a type system you define for your data • Declarative data fetching. The query is shaped just like the data it returns • Single endpoint. Multiple queries • GraphQL APIs are organized in terms of types and fields, not endpoints
• Reduce over fetching and under fetching • Send a GraphQL query to your API and get exactly what you need • Evolve your API without versions • Self documenting. Introspection tool • Efficient data loading and usage
system. Self documenting • __Schema, __Type, __TypeKind, __Field, __InputValue, __EnumValue, __Directive - These all are preceded with a double underscore,
the data it returns • Strong-typing. Syntactically correct and valid within the GraphQL type system before execution • Types. ◦ Default scalar types. Float, Boolean, Float, Int ◦ User defined types. Enums, Interfaces, Union types ◦ Root types. Query, Mutation and subscription. By default exists on the root • Query. Client‐specified queries, client defines how result should appear • Mutations. Creating, Updating and deleting • Subscriptions. Connect to the server and wait for response. Similar to webhooks