garnetrouter

garnetrouter

Маршрутизация и middleware без фреймворка.

Версия 3.6.3 Rust 1.74+ Лицензия MIT crates.io

garnetrouter сопоставляет HTTP-запросы с обработчиками на Rust. Поддерживаются параметры пути, подстановки, группы маршрутов и middleware, а поиск идёт по radix-дереву, поэтому остаётся быстрым при любом числе маршрутов.

cargo add garnetrouter

Пример

use garnetrouter::{Router, Error};

#[tokio::main]
async fn main() -> Result<(), Error> {
    let router = Router::builder()
        .redirect_trailing_slash(true)
        .base_path("/")
        .build()?;

    router.get("/users/{id}").await?;

    let items = router.routes().await?;
    println!("{items:?}");
    Ok(())
}

Возможности

Документация

УстановкаТребования, установка и сборка из исходников. РуководствоПервая программа и основные понятия. ПримерыЗаконченные программы для типичных задач. КонфигурацияВсе параметры, их типы и значения по умолчанию. Справочник APIСигнатуры и поведение публичного API. ТестированиеКак тестировать код, использующий библиотеку. Вопросы и ответыКороткие ответы на частые вопросы. РелизыИстория релизов. Политика безопасностиПоддерживаемые версии и сообщения об уязвимостях. ПоддержкаГде задать вопрос и как связаться с авторами.