~/talk

Give it a REST - Tips for designing and consuming public API's

Talkat NDC Porto 2019 · 2019-02-26..03-01· [web-platform, microservices]
slides:none on file

Huddle describes practical REST lessons from a public API used by ~30 customers while migrating from a monolith to microservices: use BFF facades to keep old URIs working, expose progress endpoints for long jobs (202 + pollable status), enforce rate limits like 50 calls a minute, and monitor which clients hit which endpoints. Cache with Last-Modified/ETag (implemented via Redis) to return 304 fast, avoid coupling APIs to DB schemas, give six months for deprecation, and fix brittle clients instead of breaking users.

AI-written summary · about

  1. 0:00Intro
  2. 2:13Is that really REST?
  3. 4:58Anatomy of a REST request
  4. 6:42Anatomy of a REST response
  5. 10:01API design - where do you start?
  6. 12:21An API is a contract
  7. 14:14Versioning an API
  8. 15:54Extending an API
  9. 18:34How do we introduce breaking changes?
  10. 20:06Elegant deprecation
  11. 22:13BFF - for compatibility and tailoring
  12. 25:15Using links to construct a user interface
  13. 26:38Hypermedia UI (consumer/publisher)
  14. 28:43Caching - 304 Not Modified
  15. 31:27Last-Modified header (producer)
  16. 33:24Rate limiting - 429 Too Many Requests
  17. 35:07Async and REST
  18. 37:27Mini PUT/POST.../status example
  19. 39:04Updating FileRequest status
  20. 40:34Over consuming (consumer)
  21. 42:33Enumerated values (consumer)
  22. 45:15Be specific (consumer)
  23. 48:44Resources
~/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.