Video description
In Video Editions the narrator reads the book while the content, figures, code listings, diagrams, and text appear on the screen. Like an audiobook that you can also watch as a video.
With thorough explorations of GraphQL concepts and numerous practical examples, this excellent book will quickly take you from novice to expert.
Dary Merckens, Gunner Technology
Reduce bandwidth demands on your APIs by getting only the results you need—all in a single request! The GraphQL query language simplifies interactions with web servers, enabling smarter API queries that can hugely improve the efficiency of data requests. In GraphQL in Action, you'll learn how to bring those benefits to your own APIs, giving your clients the power to ask for exactly what they need from your server, no more, no less. Practical and example-driven, this book teaches everything you need to get started with GraphQL—from design principles and syntax right through to performance optimization.
about the technology
GraphQL APIs are fast, efficient, and easy to maintain. They reduce app latency and server cost while boosting developer productivity. This powerful query layer offers precise control over API requests and returns, making apps faster and less prone to error.
about the book
GraphQL in Action gives you the tools to get comfortable with the GraphQL language, build and optimize a data API service, and use it in a front-end client application. By working through set up, security, and error handling you'll learn to create a complete GraphQL server. You'll also unlock easy ways to incorporate GraphQL into your existing codebase so you can build simple, scalable data APIs.
what's inside
- Define a GraphQL schema for relational and document databases
- Implement GraphQL types using both the schema language and object constructor methods
- Optimize GraphQL resolvers with data caching and batching
- Design GraphQL fragments that match UI components' data requirements
- Consume GraphQL API queries, mutations, and subscriptions with and without a GraphQL client library
about the audience
For web developers familiar with client-server applications.
about the author
Samer Buna has over 20 years of experience in software development including front-ends, back-ends, API design, and scalability.
A great introduction to GraphQL. This was the first book where I finally ‘got it’.
Jeremy Lange, G2
Learn the new API paradigm with this excellent practical guide.
Isaac Wong, Privé Technologies
If you want to develop an API with best practices, GraphQL is for you, and this book can help you get started quickly.
Ethien Daniel Salinas Domínguez, Intelligential.tech
NARRATED BY CHRISTOPHER KENDRICK
Table of Contents
Part 1. Exploring GraphQL
Chapter 1 Introduction to GraphQL
Chapter 1 The big picture
Chapter 1 GraphQL is a specification
Chapter 1 GraphQL is a service
Chapter 1 Why GraphQL?
Chapter 1 What about REST APIs?
Chapter 1 REST APIs and GraphQL APIs in action
Chapter 1 GraphQL problems
Chapter 2 Exploring GraphQL APIs
Chapter 2 The basics of the GraphQL language
Chapter 2 Examples from the GitHub API
Chapter 3 Customizing and organizing GraphQL operations
Chapter 3 Ordering records returned by a list field
Chapter 3 Renaming fields with aliases
Chapter 3 Variables and input values
Chapter 3 GraphQL fragments
Chapter 3 Fragments and UI components
Chapter 3 Inline fragments for interfaces and unions
Part 2. Building GraphQL APIs
Chapter 4 Designing a GraphQL schema
Chapter 4 The core types
Chapter 4 Queries
Chapter 4 Using an interface type
Chapter 4 List of scalar values
Chapter 4 Mutations
Chapter 4 Creating a Task object
Chapter 4 Designing database models
Chapter 4 The Task/Approach models
Chapter 5 Implementing schema resolvers
Chapter 5 Setting up the GraphQL runtime
Chapter 5 Creating resolver functions
Chapter 5 Communicating over HTTP
Chapter 5 Building a schema using constructor objects
Chapter 5 Custom object types
Chapter 5 Generating SDL text from object-based schemas
Chapter 6 Working with database models and relations
Chapter 6 The taskMainList query
Chapter 6 Transforming field names
Chapter 6 Separating interactions with PostgreSQL
Chapter 6 Resolving relations
Chapter 6 Resolving a one-to-one relation
Chapter 7 Optimizing data fetching
Chapter 7 Defining and using a DataLoader instance
Chapter 7 Single resource fields
Chapter 7 Using DataLoader with custom IDs for caching
Chapter 7 Using DataLoader with MongoDB
Chapter 8 Implementing mutations
Chapter 8 The userLogin mutation
Chapter 8 The me root query field
Chapter 8 The approachVote mutation
Part 3. Using GraphQL APIs
Chapter 9 Using GraphQL APIs without a client library
Chapter 9 Making Ajax requests
Chapter 9 Performing GraphQL query requests
Chapter 9 Performing GraphQL mutation requests
Chapter 9 Authenticating GraphQL requests
Chapter 9 Performing query requests scoped for a user
Chapter 10 Using GraphQL APIs with Apollo client
Chapter 10 Making a mutation request
Chapter 10 Including authentication headers
Chapter 10 Using Apollo hook functions
Chapter 10 Using the automatic cache
Chapter 10 Managing local app state
Chapter 10 Implementing and using GraphQL subscriptions
Chapter 10 Apollo Server