GraphQL is a query language designed to make data fetching easier. It allows you to get data from the server to the client. It is language agnostic and became open source in 2015.
Overview
- Input types include: integer, float, string, boolean, null, enum, list, object
- It has a built-in documentation for the schema
- Can create operation names to help identify different queries
- Creates changes through mutations
- API determines what mutations are allowed
Benefits
- Avoids multiple REST calls
- Is backward compatible and version-free
- Can wrap around existing APIs
- Queries can have comments