Small, focused utilities for Rust HTTP APIs built with Axum and utoipa. The workspace favors types and generated code over runtime configura
README.md

tag_api_slug #

A Slug string newtype restricted to 1-128 lowercase ASCII letters, digits, or hyphens. Validation also applies when deserializing with serde. Its schema constraint is exposed through the schemars feature (maintained) or the utoipa feature (unmaintained).

use tag_api_slug::Slug;

let slug = Slug::new("my-resource-42").unwrap();
assert_eq!(slug.as_str(), "my-resource-42");

Enable the sqlx feature to use Slug in SQLx queries. It reads and writes the value as a string and validates values decoded from the database.

tag_api_slug = { version = "0.1", features = ["sqlx"] }