📄️ Class 1: Your First Spring GraphQL Service
Set up a Spring Boot project with GraphQL and write your first query in about half an hour
📄️ Class 2: Schema Design & Relationships
Add enums, JPA persistence, and your first entity relationship - movies have directors
📄️ Class 3: Relationships & Nested Resolution
Model rich relationships with junction entities, understand how GraphQL resolves nested fields and propagates nulls on error, and build search
📄️ Class 4: Mutations
Create, update, and delete data with GraphQL mutations and input types
📄️ Class 5: Error Handling
Handle errors gracefully with custom exceptions, error classification, and partial responses
📄️ Class 6: Security & Authentication
Add JWT authentication, user registration, and role-based access control to your GraphQL API
📄️ Class 7: Authorization
Fine-grained authorization in the service layer: ownership checks, business rules, and field-level access control, using a review system and per-field email protection as concrete examples
📄️ Class 8: N+1 Problem & @BatchMapping
Solve the notorious N+1 query problem with batch loading
📄️ Class 9: Testing
Write comprehensive integration tests for queries, mutations, and error handling
📄️ Class 10: Subscriptions
Add real-time review notifications with GraphQL subscriptions over WebSocket
📄️ Class 11: Pagination & Filtering
Implement offset-based and cursor-based pagination, flexible filtering, and sorting for your GraphQL API
📄️ Class 12: TV Shows, Union Types & Custom Scalars
Add a TV show domain, implement union types with __typename for cross-type search, model either-or inputs with @oneOf, and register a DateTime custom scalar
📄️ Class 13: External APIs, Directives & Production
Integrate with external APIs, build custom directives for validation, add query instrumentation, and configure caching