Blog


Atribuição de rotas com hífen (Attribute Routing) em ASP.NET MVC 5 ou superior

O ASP.NET MVC 5 tem um novo recurso chamado Attribute Routing que permite que um desenvolvedor especifique a rota das ações da Controller, adicionando atributos de rota a eles. Abaixo, veremos como fazer.

 

RouteConfig e MapMVCAttributeRoutes

Primeiro, você precisa ativar o roteamento baseado em atributo no ASP.NET MVC 5 ao registrar suas rotas no RouteConfig.cs. É uma declaração simples de uma linha.

 

public static void RegisterRoutes(RouteCollection routes) {
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapMvcAttributeRoutes();

    // ...
}

 

Attribute Routing em ASP.NET MVC 5

Em seguida, você precisa criar uma Controller e algumas Actions. Neste caso, adicionamos um RoutePrefix para o QuemSomosController dizendo que todas as rotas de ação do controlador será prefixado com "quem-somos".

Agora, para a ação do controlador de índice eu apenas especifico como uma rota, o que significa que ele irá responder à rota "~/quem-somos", que é o prefixo da rota.

 

[RoutePrefix("quem-somos")]
public class QuemSomosController : Controller {
    private BancoEntities db = new BancoEntities();

    [Route]
    public ActionResult Index() {
        var equipe = db.EQUIPE.ToList();
        return View(equipe);
    }
}

 

É fácil ver a rota para uma ação de uma Controller, olhando o RoutePrefix e atributos de rota na Controller e Action no ASP.NET MVC 5.

Pronto! Agora já pode utilizar rotas personalizadas em suas Controller também!

 

Referências: davidhaydencodeproject e exceptionnotfound

Comentários