Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

egghead.io

Designing GraphQL Schemas

via egghead.io

Overview

GraphQL brings joy to using APIs. Even though it's based on a type system, GraphQL in many ways is more flexible than REST.
But the flexibility that makes GraphQL a joy to work with can have its downsides if you aren't careful.
Schema design is an area where one small oversight at the beginning can get you stuck having to deal with weird naming, bloated duplicates, and other annoying workarounds.
It doesn't have to be like this!
Nik Graf has extensive experience designing GraphQL schemas, for a variety of business applications.
In this course, Nik has prepared several examples following different design patterns. Through exploration and comparison, you'll come away with actionable knowledge for designing and extending schemas.
Follow Nik, and avoid making Schema mistakes that will come back to bite you later.

Syllabus

  • Course Intro for Designing GraphQL Schemas
  • Setup an Apollo GraphQL Server with automatic Mocking
  • Kicking off a GraphQL Schema Design Process
  • Naming Conventions for Query Fields in GraphQL
  • When and Why to use Nullable vs Non-nullable Fields in GraphQL
  • Evolving a GraphQL Schema incl. Breaking Changes without affecting a Single User
  • Naming Conventions for Fields with GraphQL Aliases in Mind
  • Paginate Entries using the Connection Specification
  • Extending GraphQL Connections with additional Fields and Arguments
  • Naming top-level Query Fields in GraphQL
  • Mutation Input and Payload Structure in GraphQL
  • Design GraphQL Mutations by focusing on the Domain rather than the Data Model
  • Optimising GraphQL Mutations for Static Usage
  • GraphQL Mutations to update Connections
  • Tradeoffs when designing GraphQL Mutations to update multiple Properties on one Entity
  • Course Outro for Designing GraphQL Schemas

Taught by

Nik Graf

Reviews

4.5 rating at egghead.io based on 123 ratings

Start your review of Designing GraphQL Schemas

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.