Learn the Ring mental model: handlers are functions and requests/responses are plain maps.
Clojure web development feels different from many Java frameworks because it is less “annotation magic” and more explicit data flow. A handler is just a function from a request map to a response map, and middleware is just function composition.
This section orients you to the core model so the rest of the chapter is easy to reason about in code review and debugging.