use axum::Router; use axum_folder_router::folder_router; #[derive(Clone)] struct AppState; // Imports route.rs files & generates an ::into_router() fn #[folder_router("./examples/simple/api", AppState)] struct MyFolderRouter(); #[tokio::main] async fn main() -> anyhow::Result<()> { // Create app state let app_state = AppState; // Use the init fn generated above let folder_router: Router = MyFolderRouter::into_router(); // Build the router and provide the state let app: Router<()> = folder_router.with_state(app_state); let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await?; println!("Listening on http://{}", listener.local_addr()?); axum::serve(listener, app).await?; Ok(()) }