Summary Introduction Basics Route Syntax Router Path-based Routing Name-based Routing Route Data Route Data Validation Route Conflicts Coercion Coercion Explained Plumatic Schema Clojure.spec Data-specs Ring Ring-router Reverse-routing Default handler Static Resources Dynamic Extensions Data-driven Middleware Transforming Middleware Chain Middleware Registry Default Middleware Pluggable Coercion Route Data Validation Compiling Middleware Swagger Support Advanced Configuring Routers Composing Routers Different Routers Route Validation Dev Workflow Patterns Shared Routes Frontend Basics Browser integration Controllers (WIP) Performance Interceptors (WIP) Development Instructions FAQ