Um framework ASGI leve e um toolkit para criar serviços web assíncronos e APIs em Python.
tokio-rs/axum
Uma biblioteca modular e ergonômica para roteamento HTTP e tratamento de requisições em Rust, construída sobre tower e hyper.
- Estrelas
- 27,588
- Forks
- 1,526
- Issues abertas
- 109
- Último commit
- há 5 dias
O que é?
axum é uma biblioteca Rust para criar servidores HTTP. Ela associa rotas a funções assíncronas de tratamento sem macros, e essas funções declaram do que precisam da requisição por meio de extractors, como corpos JSON já parseados, mantendo o parsing e a validação declarativos. As funções podem retornar qualquer tipo que implemente a trait de resposta, o que torna previsíveis o tratamento de erros e a geração de respostas.
Em vez de definir seu próprio sistema de middleware, axum é construído sobre tower::Service. É possível aplicar diretamente timeouts, tracing, compressão e autorização do ecossistema tower e tower-http, além de compartilhar middleware com aplicações feitas com hyper ou tonic. axum é uma camada fina sobre hyper e adiciona pouco overhead.
O projeto está publicado no crates.io e atualmente está na linha de releases 0.8.x, enquanto a branch principal trabalha rumo à versão 0.9, com breaking changes. O projeto proíbe código unsafe e tem como versão mínima suportada do Rust a 1.80.
Recursos principais
- 01Roteamento de caminhos para funções assíncronas de tratamento, sem macros.
- 02Parsing declarativo de requisições por meio de extractors, incluindo corpos JSON.
- 03Geração de respostas a partir de tipos de retorno comuns, com pouco código boilerplate.
- 04Compatibilidade total com o ecossistema de middleware do tower.
- 05Camada fina sobre hyper, com baixo overhead.
- 06Escrito inteiramente em Rust seguro, com código unsafe proibido.
Casos de uso
- Criar APIs REST JSON em Rust com corpos de requisição e resposta tipados.
- Adicionar middleware compartilhado, como tracing, timeouts ou compressão, a um serviço web em Rust.
- Compartilhar middleware entre uma API web e serviços construídos com hyper ou tonic.
Início rápido
- 1
Adicione axum a um projeto Rust (o README não inclui um comando de instalação).
- 2
Copie o exemplo de uso do README para src/main.rs.
- 3
Explore o diretório examples para ver mais exemplos de código.
Antes de usar
- A branch main contém alterações incompatíveis anteriores à versão 0.9; portanto, use a branch 0.8.x para a versão lançada.
- A versão mínima compatível do Rust é 1.80.
Em coleções
Tópicos
Perguntas frequentes
- O que é axum?
- Uma biblioteca modular e ergonômica para roteamento HTTP e tratamento de requisições em Rust, construída sobre tower e hyper. axum é uma biblioteca Rust para criar servidores HTTP. Ela associa rotas a funções assíncronas de tratamento sem macros, e essas funções declaram do que precisam da requisição por meio de extractors, como corpos JSON já parseados, mantendo o parsing e a validação declarativos. As funções podem retornar qualquer tipo que implemente a trait de resposta, o que torna previsíveis o tratamento de erros e a geração de respostas.
- axum é gratuito? Qual é a licença?
- axum é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- axum ainda é mantido?
- Manutenção ativa. O último commit de axum foi em 20 de out. de 2026.
- Para que posso usar axum?
- Criar APIs REST JSON em Rust com corpos de requisição e resposta tipados. Adicionar middleware compartilhado, como tracing, timeouts ou compressão, a um serviço web em Rust. Compartilhar middleware entre uma API web e serviços construídos com hyper ou tonic.
- Como instalar axum?
- Adicione axum a um projeto Rust (o README não inclui um comando de instalação). Copie o exemplo de uso do README para src/main.rs. Explore o diretório examples para ver mais exemplos de código.
- Onde consigo axum?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tokio-rs/axum
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Vapor é um framework HTTP para Swift que permite criar sites, APIs e serviços em nuvem.
Framework web rápido, minimalista e sem impor opiniões para Node.js, voltado à criação de aplicações web e APIs HTTP.
Componente PHP que associa URLs de requisições HTTP a configurações de rotas e gera URLs a partir de rotas nomeadas.
Framework web Python para criar APIs com type hints padrão, validação automática, documentação OpenAPI e alto desempenho.
Framework assíncrono em Kotlin para criar microsserviços, aplicações web e APIs HTTP, desenvolvido pela JetBrains.