TOC

This article has been localized into Spanish by the community.

Enrutamiento:

Introducción

Enrutamiento en MVC es el concepto de mapeo a URL, lo cual es lo que el usuario final estará solicitando a través de su explorador, a un método en uno de tus controladores, el cual luego de enviar a una respuesta de regreso al explorador. La respuesta de frecuentemente será una Vista, pero también puede ser una simple pieza de texto, un Redirect o redirecciónamiento, o un número de otras opciones.

Enrutamiento por defecto

Si tú estás trabajando en un proyecto nuevo, creado con una plantilla vacía en Visual Studio, entonces tu aplicación no tiene ningún tipo de ruteo o enrutamiento aun. Hablamos un poco sobre enrutamiento en el artículo sobre agregar un controlador de proyecto, pero si no ha seguido este tutorial desde el inicio necesitamos revisar antes esto. Intenta abriendo tu archivo Startup.cs, el cual debió de haber sido agregado a tu proyecto cuando lo creaste - si no hay nada sobre enrutamiento, necesitas agregarlo manualmente. La forma más fácil para usarlo es el método de ayuda llamado UseMvcWithDefaultRoute() - este agrega una ruta básica a tu proyecto, la cual tratará de mapear URLs a métodos en uno de tus controladores. Si no se especifica un nombre de controlador, la URL será mapeada al HomeController.

Así es como se debe de ver tu archivo Startup.cs:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
app.UseDeveloperExceptionPage();
    }

    app.UseMvcWithDefaultRoute();
}

La parte importante es la última línea, donde llamamos al método UseMvcWithDefaultRoute(). Gracias a este método, tu aplicación ahora soporta ruteo básico. Aquí hay algunos ejemplos de url qué funcionan y la combinación de método y controlador que mapean:

http://localhost/           ->      HomeController.Index()  
http://localhost/Home/Index     ->      HomeController.Index()  
http://localhost/Test/  ->      HomeController.Test()  
http://localhost/Home/Something ->      HomeController.Something()

Pero esto no sólo afecta al HomeController - en vez de eso, agregar soporte general para acceder a un método en un controlador sin tener que crear rutas específicas para esto. Así que, si tú tienes un controlador llamado UserController, el cual tiene un método llamado Details(), puedes accederlo por la siguiente url: /User/Details

En otras palabras, el ruteo por defecto actúa como un tipo de regla "atrapa todo" , para ser fácil para ti tener algunas páginas básicas listas y corriendo. Pero desde luego, esto sólo funciona si todo tu contenido sigue el mismo patrón: /[nombre-de-controlador]/[nombre-de-metodo]

Tan pronto como te alejes de esto, por ejemplo por qué tú no quieres que el nombre específico de tu controlador aparezca en la url, necesitarás agregar tus propias reglas. No te preocupes - aún puedes depender en el núcleo por defecto, simplemente regando tus propias reglas antes de que el ruteo por defecto sea aplicado. Veremos más de eso luego.

Resumen

Ruteo es el proceso de mapear, el cual es como un usuario acceso a una página en específico con funcionalidad en tu aplicación, al controlador y al Método en este controlador el cual debe de ser responsable de crear la respuesta a la url. Gracias al ruteo por defecto, como vimos en este artículo, puedes conseguir usar la funcionalidad de ruteo más básica de forma muy fácil, pero para situaciones más complejas, necesitarás crear tus propias reglas. No te preocupes, hablaremos mucho más de esto justo en los siguientes artículos.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!