Header Ads Widget

Responsive Advertisement

Ticker

6/recent/ticker-posts

Roteamento no ASP.NET Core MVC

Os Controllers do ASP.NET Core utilizam o middleware de roteamento para mapear solicitações de entrada para ações.

Neste post vou explicar as rotas por convenção e rotas por atributo.

Para utilizar uma rota por convenção, devemos defini-lá no Startup da aplicação no método configure

app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}"
);

Neste caso, definimos o controller "padrão" como "Home" e nossa ação padrão "Index". O simbolo de interrogação no {id?} significa que ele é um parametro opcional. Podemos adicionar mais de uma rota caso seja necessário, sempre lembrando de adicionar primeiro a rota mais específica.

Sendo assim se fizermos uma requisição HTTP à URL da aplicação desta forma: https://www.mymvc.com/, a ação Index será executada pois é a rota padrão e não fornecemos nenhum argumento. 

Para configurar uma rota por atributo definimos a rota como atributo diretamente nos controllers:

[Route("")]
[Route("Home")]
[Route("Home/Index")]
[Route("Home/Index/{id?}")]
public async Task<IActionResult> Index()
{
return View();
}

Este segundo exemplo reproduz o mesmo resultado da rota por convenção, porém um pouco mais trabalhosa, e de difícil manutenção.


Postar um comentário

0 Comentários