Designing Programmer-Friendly APIs
summary
Library tapir models each HTTP endpoint as an immutable Scala value and separates its description from interpretation, so the same description generates both toRoutes for http4s and an openapi yaml doc. Example endpoints (GET /books, GET /books/{id}) become well-typed server handlers, an OpenAPI document, and a working demo. Magnolia derives JSON schemas, codecs wrap existing encoders/decoders, and a full fallback "read everything" backdoor exists for cases the niceties don’t cover.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 0:51Agenda
- 2:31General Problem
- 5:00Single Representation
- 5:17Two Directions
- 7:19HTTP Endpoints
- 14:25Data Structures
- 17:09Interpretation
- 27:16Dubey
- 29:08Monix
- 30:29Ramonas
- 31:51DoB
- 32:30Design Choices
- 32:45Principles
- 34:25Type Safety
- 37:14Reusability
- 39:51Shape
- 42:02CoProducts
- 46:37Server Logic
- 49:34Basic Input
- 50:53Headers
- 52:51Backdoor
- 53:59Summary
related talks
27mBuilding Great Web APIs
59mHandy Tools for Designing Great Web APIs
35mBuilding Your API for Longevity
17mRESTful API Patterns and Practices
19mWriting an Open API Parser
42mGood APIs don't need a tutorial
38mThe Secret to Brewing up a Good API
10mShapir: Standardizing and Democratizing Access to Web APIs
