[package] name = "axum-api-template" version = "0.1.0" edition = "2021" rust-version = "1.75" [[bin]] name = "axum-api-template" path = "src/main.rs" [dependencies] # Web framework axum = { version = "0.7", features = ["macros"] } axum-extra = { version = "0.9", features = ["typed-header"] } tower = { version = "0.4", features = ["full"] } tower-http = { version = "0.5", features = ["cors", "trace", "request-id", "normalize-path"] } # Async runtime tokio = { version = "1", features = ["full"] } # Serialization serde = { version = "1", features = ["derive"] } serde_json = "1" # Configuration config = "0.14" dotenvy = "0.15" # Error handling thiserror = "1" anyhow = "1" # Logging / tracing tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } # Validation validator = { version = "0.18", features = ["derive"] } # UUIDs uuid = { version = "1", features = ["v4", "serde"] } # Time chrono = { version = "0.4", features = ["serde"] } # HTTP status codes (re-exported via axum, listed explicitly for clarity) http = "1" [dev-dependencies] axum-test = "14" tokio = { version = "1", features = ["full"] } serde_json = "1" [profile.release] opt-level = 3 lto = true codegen-units = 1 strip = true