ðŠĶ Grave
A lightweight Rust web framework built on top of Axum
that provides a declarative app! macro for defining routes and server
configuration.
Quick Start
use app;
use ;
app!
Features
- Declarative routing â define routes with
GET "/path" => { handler } - Application state â shared state via
grave::State<T> - JSON support â request/response serialization with
grave::Json<T> - Path parameters â extract URL params with
Path<T> - Testable â generates a
create_app()function for integration testing - Built on Axum â full compatibility with the Axum ecosystem
Supported HTTP Methods
GET, POST, PUT, DELETE, PATCH, HEAD
Handler Types
Block handler (no extractors)
GET "/hello" =>
Closure handler (with extractors)
GET "/users/:id" =>
Testing
The app! macro generates a pub fn create_app() -> Router that you can use
with tower::ServiceExt::oneshot for integration testing:
async
Run tests:
Running
License
MIT