Creacion de REST API con NodeJS, AdonisJS y JWT - Usuario Peru TI

Últimas entradas

Creacion de REST API con NodeJS, AdonisJS y JWT

AdonisJS es un framework orientado al desarrollo web, basado en Node.js, cuenta con una serie de características inspiradas en frameworks populares como: Ruby on Rails y Laravel.

En el siguiente post se explicara la forma de crear un api-rest usando AdonisJS, como framework de back-end, consumiendo información de usuarios y proyectos, almacenados en una base de datos MySQL, para tener consideraciones para el desarrollo de una api se puede revisar la siguiente entrada: Claves para desarrollar con API REST

Requerimientos

  • Node.js >= 8.0.0
  • npm >= 3.0.0
  • git
  • MySQL 5.x

Instalación

Rutas

Adonisj maneja las rutas en el archivo route.js, ubicado en dentro de la carpeta start, para nuestra demostración estas serían las rutas, verbos, controladores y funciones a utilizar

Podemos hacer uso del comando adonis route:list para visualizar todas las rutas que se tienen definidas en nuestro proyecto

Controladores

En nuestra demostración usaremos 02 controladores, donde se manejará la lógica de los usuarios y proyectos.

Controlador UserController.js

Controlador ProyectoController.js

Migraciones

Para la comunicación con la base de datos utilizaremos MySQL, sin embargo podemos utilizar cualquiera de las bases de datos indicadas en la documentación de Adonisjs

Por defecto, se migrara las tablas de usuarios y token, esto es debido a que los modelos son generados al iniciar el proyecto.

Modelos

Usaremos 3 modelos para la demostración, User.js para el manejo de usuarios, Proyecto.js para el de proyectos y Token.js para la seguridad via JWT

Modelo Userjs

Modelo Proyecto.js

Para ejecutar la migración de la entidad proyecto, antes debemos realizar la migración.

Servicios y Excepciones

Adonisjs nos proporciona la posibilidad de usar servicios y excepciones para controlar los permisos y tipos respuestas que son enviadas hacia nuestra api, para la demostración usaremos 02 excepciones para el manejo de los códigos de estado 403, acceso prohibido, y 404, recurso no encontrado.

Crearemos un servicio AutorizacionService.js para el control de permisos, de tal forma que pueda ser reutilizado dentro de nuestro proyecto, se realizará el uso de excepciones acceso prohibido y recurso no encontrado.

Creamos las excepciones vía terminal

Excepción AccesoProhibidoException.js

Excepción RecursoNoEncontradoException.js

Para probar los endpoint, se puede hacer uso de herramientas como Postman, para el caso de invocar desde la terminal se podrá hacer a través de CURL de acuerdo a lo siguiente:

Repositio: https://github.com/jorgedison/api-rest-adonisjs
Fuente: https://adonisjs.c

Share on FacebookTweet about this on TwitterShare on Google+

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *