Accede a todo EDteam con un único pago¡Sube a premium!

Sistema de rutas con Adonis Framework 4

Buen día comunidad, para mi es un gusto saludarles el día de hoy quiero hacerles una entrega más referente al Framework Adonis festejando de paso que ya esta en su versión 4 de manera estable. Importante si no te sientes familiarizado con este tema, te recomiendo ver mi primer aporte en la sección de blogs para revisar como llegamos al proceso de instalación de esta maravillosa herramienta. Las competencias que quiero ustedes adquieran hoy son las siguientes:

Diseño web
3 minutos
Hace 6 años
Sistema de rutas con Adonis Framework 4

Buen día comunidad, para mi es un gusto saludarles el día de hoy quiero hacerles una entrega más referente al Framework Adonis festejando de paso que ya esta en su versión 4 de manera estable.

Importante si no te sientes familiarizado con este tema, te recomiendo ver mi primer aporte en la sección de blogs para revisar como llegamos al proceso de instalación de esta maravillosa herramienta.

Las competencias que quiero ustedes adquieran hoy son las siguientes:

  1. Sistemas de rutas estáticas
  2. Parámetros en las rutas
  3. Parámetros opcionales en rutas

Si llegado a este punto no comprendes sobre esta herramienta te recomiendo buscar en el blog mi primer entrega de Adonis donde doy una introducción así como el proceso de instalación.

Bien es momento de comenzar, crea un nuevo proyecto y en la carpeta raíz entra a la siguiente ruta: start/routes.js y al final empieza con lo siguiente

  1. Sistemas de rutas estáticas

Como ya te diste cuenta Route accede al método GET que en este caso es el tipo de petición que le vamos a hacer al servidor; lo que finalmente nos dará solamente el retorno

Route.get('/edteam', () => 'Hola comunidad de EDTeam bienvenidos')

      2. Parámetros en Rutas

En el siguiente ejemplo estamos llegando un paso mas allá, ahora no solo devolvemos un simple texto sino que estamos adjuntándole un parámetro

Route.get('/edteam/:ceo', async ({ params }) => {
         return `Hola CEO ${params.ceo}`
})

Como ya pudiste notar hay una serie de cosas interesantes a explicar aquí:

  • async: Devuelve un nuevo objeto de una función asíncrona, esta función es a su vez un objeto de AsyncFunction
  • parámetros: Dentro del contexto del Framework Adonis dichos valores se pasan con la sintáxis de  :$&valor$&
  • Impresión de los valores: Como ya pudiste notar estamos haciendo dentro del return de la función la impresión de una cadena de texto y a su vez concatedandole un valor dinámico, pero en vez de usar el signo de + para eso utilizamos las template strings que me facilitan una sintáxis mas limpia y sacando el mismo resultado todo gracias al concepto de interpolación
  • Arrow functions: También parte del ya establecido nuevo estándar de JavaScript para sustituir en algunos casos el uso de funciones anónimas (tener presente que el scope o contexto de una arrow function es distinto al de una function tradicional)

    2. Parámetros opcionales en rutas

Con los ejemplos anteriores lo que acabamos de notar es como pasar un parámetro pero que si no lo cinlcuimos al momento de escribir la URL marcará NULL al no ser declarado; al igual que en Laravel indicarle que un parámetro es opcional es muy simple como puedes notar en el código siguiente:

Route.get('/edteam/:ceo?', async({ params }){
              if(params.ceo){
                  return `Hola mucho gusto ${params.ceo} CEO de EDTeam`
               }else{
                  return `Que alguien me presente al  CEO`
               }
})

¿Qué hice?

Bueno pues lo único es que si deseas que el parámetro sea opcional colocas un signo de interrogación que cierra al final de este mismo y al final para hacer un return con un condicional simple compruebo su existencia para devolver un mensaje personalizado según sea el caso.

Pero momento ahí no termina podemos llegar incluso mas allá siguiendo el patrón de arquitectura de software, moviendo la lógica de programación a un controladorpara que a través de métodos controlemos las peticiones del usuario.

Saludos y a seguir nuestra ruta de aprendizaje

Mi Twitter es: https://twitter.com/AlfredoPazB

Recuerda que si quieres comprender mejor no sólo la sintáxis de de JavaScript si no también aprender este maravilloso lenguaje a nivel avanzado EDTeam tiene cursos geniales como:

  • JavaScript desde cero
  • JavaScript Avanzado "Paradigmas de programación" con mi conacional el buen Jon Mircha

Comentarios de los usuarios

Pregunta a ChatEDT