Raptor 2 (Definición de Rutas)

Hola a todos seguimos con esta serie de tutoriales sobre Raptor 2, esta vez tocaremos el tema de definición de rutas.

Una vez creado el componente ya podemos empezar a crear nuestras rutas. La definición de estas deberá hacerse dentro de los controladores y siguiendo algunas especificidades.

  • Las definiciones de rutas serán determinadas a través de la anotación @Route en el método que se desee ejecutar para esta coincidencia de ruta.
  • Pueden ser registrados prefijos a través de @Route colocándola como anotación en la clase controladora o en la clase principal del componente.
  • Opcionalmente puede definirse un nombre de ruta a través de la anotación @RouteName, si esta no se define un nombre de ruta es construido en base a la ruta definida remplazando / por _.

 

Para que todo en la vida nos valla bien vamos a mostrar nuestra frase de la suerte “Hola mundo” en un ejemplo y así veremos el funcionamiento de las rutas.

Lo primero que tenemos que hacer es determinar un patrón de ruta para mostrar nuestro hola mundo, digamos que sería /ejemplos/hola donde ejemplos sería nuestro prefijo y hola el nombre especifico de la ruta. Para esto vamos al controlador por defecto que aparece en nuestro bundle, y donde comienza nuestra clase colocamos la anotación como aparece a continuación.

CONTENT

Hemos colocado la anotación @Route en la clase controladora, por lo que la convierte automáticamente en un prefijo. Luego vamos y colocamos lo siguiente en el método que aparece por defecto.

content2

En las anotaciones correspondientes al método indexAction hemos colocado la anotación que define la ruta, esta es procesada en conjunto con el prefijo de nuestra clase. Además aquí vemos que las acciones de rutas pueden pasársele argumentos. Raptor por defecto añade a la acción a ejecutar los argumentos request, response y route que son referencias a estas instancias construidas por el core en la ejecución de una ruta.

Luego se retorna el contenido de nuestra respuesta y listo.

Ten presente que una vez definido esto debemos limpiar la cache de configuración para que Raptor reconfigure y reconozca las nuevas rutas. Vamos a Tools y pulsamos sobre clear cache config, una vez limpiada la cache vamos al navegador y ejecutamos la ruta /ejemplos/hola y veremos el resultado.

content3

 

Nota.

–          La definición de prefijos de ruta no es obligatoria.

-     Todo lo que no se le especifique su tipo de contenido explícitamente, será tomado como text/html.

 

El proceso de definición de rutas en esta versión es mucho más claro y limpio teniendo en cuenta que se elimina el encadenamiento de rutas por configuración.

2 comentarios de “Raptor 2 (Definición de Rutas)

  1. Hola, ya he visto gran parte de lo que se explica aqui, solamente quisiera saber si existe alguna via de definicion de la operacion en especifico que se espera en la ruta, por ejemplo POST, GET, PUT etc… he visto que Slim machea perfectamente contra estos metodos.

    • Buenas amigo
      Las rutas son macheadas por defecto por cualquier método, por lo que es posible crear un API Rest de una forma sencilla y rápida, además como complemento es posible definir una descripción API en cada ruta que posteriormente puedes llamarla para mostrar un API personalizada, esto es en caso que que pretendas prestar servicios REST.
      Por cierto en próximos días se incorporará la definición de una operación en la ruta @Method PUT, esto permitirá restringir la ruta solo a ese método, si se obvia pues se mechean por todas.

Responder a watamayo Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *