Functional APIs with GraphQL & Elixir
summary
GraphQL + Elixir is shown as a practical API replacement using Absinthe, with a runnable Phoenix mount, GraphiQL playground and optional subscriptions over channels. A project-management schema is prototyped first-only schema and fake resolvers (parent, args, resolution) let frontends play before DB code. Absinthe defaults to Map.get resolvers, supports batch/dataloader to avoid N+1, and enforces query complexity limits to prevent DOS; client caching and lack of an official Elixir client are noted.
AI-written summary · about
chapters (18)
- 0:00Intro
- 1:41The history behind it (educated guess)
- 4:41What is this GraphQL thing?
- 6:54GraphQL in Elixir
- 10:25How does it look like?
- 13:27Computed fields
- 14:02Let's get our hands dirty!
- 15:57Sad news for you
- 16:23Objects
- 19:02The Graph & The Query
- 19:48The Graph & The Schema
- 22:41The Graph & The Response
- 29:28Phoenix integration
- 30:23N+1 queries
- 33:23We're building DOS endpoint
- 34:35Problem #2: DOS prevention
- 35:36Caching
- 36:32Hostile developer environments
related talks
31mGraphQL: how to make clients enjoy using your API
55mGraphQL - APIs the New Way
23mAugmenting a Legacy REST API with GraphQL
30mGraphQL - A different way to API
23mAn Introduction to GraphQL
30mSchema Design Patterns: Leveraging Existing REST APIs for Rapid GraphQL
30mREST & GraphQL: Adventures in schema-first API development
38mGraphQL: New services and tools for building API-driven apps
