Barra Final

Middleware para adicionar ou remover automaticamente a barra / no final de URLs.

Casos de Uso

O middleware Trailing Slash é particularmente útil nos seguintes cenários:

  • Normalização de URLs: Garante que todas as URLs sigam um formato consistente (adicionando ou removendo a barra final), o que ajuda no SEO e evita problemas de conteúdo duplicado.

  • Simplificação do roteamento: Elimina a necessidade de escrever lógicas de roteamento separadas para URLs com e sem barra final, pois o middleware faz essa conversão automaticamente.

  • Compatibilidade: Alguns clientes podem adicionar ou remover automaticamente a barra final das URLs. Este middleware garante que as requisições sejam roteadas corretamente.

  • Gerenciamento de redirecionamentos: Pode ser configurado para redirecionar automaticamente URLs com barra final para versões sem barra (ou vice-versa), melhorando a experiência do usuário.

  • Evitar conflitos de roteamento: Em muitos frameworks web, /path e /path/ podem ser tratados como rotas diferentes. Este middleware unifica o tratamento.

Código de Exemplo

main.rs
Cargo.toml
trailing-slash/src/main.rs
use salvo::prelude::*;
use salvo::trailing_slash::add_slash;

#[handler]
async fn hello() -> &'static str {
    "Hello"
}

#[tokio::main]
async fn main() {
    tracing_subscriber::fmt().init();
    let router = Router::with_hoop(add_slash())
        .push(Router::with_path("hello").get(hello))
        .push(Router::with_path("hello.world").get(hello));
    let acceptor = TcpListener::new("0.0.0.0:5800").bind().await;
    Server::new(acceptor).serve(router).await;
}
Nesta página