Created at Facebook in 2012 and released as open-source software in 2015, GraphQL has proven that it is here to stay. GraphQL is one of the "Big Three" when it comes to building modern APIs (alongside REST and gRPC), and it is the approach of choice for many big companies like GitHub, Shopify and thousands more. GraphQL solves many problems that developers encounter when building traditional REST APIs, and it does it with fashion, sporting an elegant read and write approach as well as a unique way to subscribe to data changes. In this 7-and-a-half-hour course, Michael Staib, a GraphQL steering committee member and creator of the popular GraphQL library HotChocolate, will assume you have no knowledge on this topic and take you to a very decent level where you'll be able to build GraphQL .NET applications using C#.
Welcome (1:38)
What will you learn in this course? (2:07)
Who is the course for and prerequisites (0:59)
Why GraphQL? (6:06)
Lets have a look at GraphQL (6:30)
GraphQL operation structure explained (3:15)
A quick look at the GraphQL transport protocols (7:24)
Lets create our first GraphQL server! (5:03)
The annotation-based schema building approach (1:49)
An exploration of the GraphQL type system (1:27)
GraphQL Object Types (3:07)
GraphQL Interface Types (4:10)
GraphQL Union Types (2:57)
GraphQL Enum Type (3:54)
GraphQL Input Objects (1:56)
GraphQL OneOf Inputs (2:30)
Getting Started with Entity Framework (9:36)
Using GraphQL projections with Entity Framework (3:28)
Field Middleware Explained (9:06)
Paging in GraphQL (13:09)
Filtering (12:52)
Filtering and Sorting (12:08)
Exploring Schema Building Approaches (11:00)
Introduction (1:20)
Building with Type Modules and automatic type registration (6:10)
Splitting Root Types (2:40)
Cursor Pagination in a layered architectures (9:24)
Using type extensions in Hot Chocolate (5:30)
Introduction to DataLoader (14:50)
Using DataLoader with nested Paging (10:46)
Introduction to GraphQL query patterns (9:11)
The Entity pattern (9:16)
Working with composite keys (14:58)
Exposing internal identifiers (0:44)
GraphQL Errors and Non-Nullability explained (5:43)
Throwing Custom GraphQL Errors (5:12)
Using Domain Errors in GraphQL Queries (11:07)
Introduction to GraphQL mutations (5:09)
Implementing a basic mutation (6:12)
Mutation design principals (8:12)
Mutation conventions (4:58)
Error patterns for GraphQL mutations (15:26)
Implementing Patch Mutations (5:23)
Handling File Uploads with GraphQL (13:22)
Introduction to GraphQL subscriptions (5:53)
Implementing a basic subscription (13:02)
Implementing a basic chat (14:29)
Keeping state with replayable events (17:31)
Longruninng Mutations (11:25)
Introduction (3:19)
Schema as an artifact (9:43)
Schema export CLI (4:19)
What is a GraphQL schema registry? (1:31)
Setting up the schema registry (10:39)
Setting up a CI build with the schema registry (7:17)
Setting up a deployment build with the schema registry (9:53)
Setting up a client registry (14:46)
Introduction (0:56)
Setting up aspire for developer telemetry (5:57)
Adding Hot Chocolate Telemetry (6:12)
Add Production Telemetry (14:01)
Instrumentation Options (1:46)
Custom Spans (3:25)
Course Info
Lifetime access
Add to Cart
Michael is a member of the GraphQL technical steering committee, contributing to the GraphQL composite schema specification under the GraphQL Foundation. He is a Microsoft MVP and the author of the Hot Chocolate GraphQL Server for .NET. Michael frequently speaks at conferences and trains professionals in the .NET and GraphQL ecosystems, sharing his expertise and passion for these technologies.
More courses by Michael Staib© 2023 Dometrain. All rights reserved.