Spec-first
No proc macro gymnastics or serde attributes doubling as schema definitions. Define your API contract in OpenAPI, generate the Rust types and routing from it.
Spec-first
No proc macro gymnastics or serde attributes doubling as schema definitions. Define your API contract in OpenAPI, generate the Rust types and routing from it.
Type-safe
Request types, response enums, parameter structs, and error variants are all generated. Miss a status code or pass the wrong type and the compiler catches it.
Readable output
The generated code lives in your project as readable Rust. You can read it, step through it in a debugger, and go to definition just works.
Escape hatches built in
The generated trait is generic over a context type you define — pull auth details or DB connections out of the request however you like.
Add tower middleware per route group with .layer().