~/talk

Designing Programmer-Friendly APIs

Talkat Scala World 2019 · 2019-09-11..09-13· [developer-experience]
slides:none on file

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

  1. 0:00Introduction
  2. 0:51Agenda
  3. 2:31General Problem
  4. 5:00Single Representation
  5. 5:17Two Directions
  6. 7:19HTTP Endpoints
  7. 14:25Data Structures
  8. 17:09Interpretation
  9. 27:16Dubey
  10. 29:08Monix
  11. 30:29Ramonas
  12. 31:51DoB
  13. 32:30Design Choices
  14. 32:45Principles
  15. 34:25Type Safety
  16. 37:14Reusability
  17. 39:51Shape
  18. 42:02CoProducts
  19. 46:37Server Logic
  20. 49:34Basic Input
  21. 50:53Headers
  22. 52:51Backdoor
  23. 53:59Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.