Building Better Web APIs
summary
Advocates explicit API versioning and prefers explicit URI versioning over header schemes, demonstrates a small framework called Hadock proof of concept built on Twisted web that supports versioned endpoints and JSON Schema validation, recommends validating input and output and using JSON Schema or Django REST Framework tooling, explores HMAC signature auth and HTTP 100-continue optimisations, and notes Django REST Framework v3 funding adds integrated versioning.
AI-written summary · about
chapters (25)
- 0:00Start
- 2:04Implement once, access anywhere
- 3:39Web 3.0 The Internet Of Things
- 5:11The Benefits
- 5:30Who are our users?
- 6:47Explicit versions are essential for stability
- 7:08Provide API Pinning
- 7:53Your version should be in your API's URI
- 9:14Different versions have different responses and resource layout
- 9:48Resources, not functions
- 11:04REST is best
- 11:16POST is resource specific (RFC 7231)
- 11:45Do what makes sense, be pragmatic!
- 11:56But just in case, document it anyway
- 12:11Document side-effects
- 12:39Don't be afraid to copy good documentation styles
- 14:32Validation is great
- 15:32Django REST Framework: Use typed fields
- 16:14Speed
- 17:31Stateless workers for better scaling
- 18:20Saratoga
- 18:54Tool Improvements
- 19:06Versioning
- 20:37Testing
- 21:10Authentication Methods
related talks
41mA bird's eye view on API development
47mBuilding APIs your users will want to use
52mDesigning and Implementing REST APIs For the Long Haul
24mDesigning the APIs for an Internal Set of Services
35mBuilding Your API for Longevity
49mWeb APIs that Developers Love
37mAPI Design: It's Not Rocket Surgery
41mThe making of a great API
