Servicio rest con nodejs, express 4 y mysql
Servicio rest con nodejs, express 4 y mysql

Hace tiempo escribí este tutorial donde vimos cómo crear el mismo ejemplo pero utilizando express 3, visto que en su versión 4 han sido desacoplados varios middlewares, entre ellos method-override, que es imprescindible para el ejemplo, vamos a ver cómo hacerlo utilizando express 4.

Vamos a realizar un servicio rest utilizando los verbos http, como gestor de bases de datos utilizaremos mysql y como framework, cómo ya hemos dicho, express 4.

Los siguientes tutoriales te pueden servir si tienes dudas en algún punto.

Crear un proyecto nodejs con express 4

Lo primero que tenemos que hacer es crear nuestro proyecto utilizando express, así que ejecutamos la siguiente línea desde la terminal.


Ahora instalamos las dependencias que necesitamos para nuestro proyecto, ejs, mysql y method-override.


Ahora vamos a instalar bootstrap en nuestro proyecto, si estás en windows escribe el siguiente comando.


Si en cambio estás en linux…


Ahora que ya tenemos nuestro proyecto creado, vamos a añadir la configuración necesaria a nuestro archivo app.js, así que reemplaza el código por el siguiente.


Ahora ya tenemos totalmente preparado nuestro archivo app.js, así que para poder seguir, vamos a crear nuestra base de datos mysql y una tabla users.


Ahora podemos crear el modelo users, el cuál deberá contener la lógica para conectar con la base de datos mysql y devolver respuestas a la aplicación, así que crea una carpeta a la altura de public llamada models y dentro un archivo users.js con el siguiente código.


Ya tenemos todas las operaciones que necesitamos llevar a cabo contra la base de datos, ahora debemos modificar el archivo routes/index.js con el siguiente código.


Todo el código está comentado en cada sección y ya lo hemos visto en anteriores tutoriales.

Crea una carpeta dentro de views llamada partials y dentro dos archivos, header.ejs y footer.ejs, y añade el siguiente código a cada uno de ellos en su orden.


Ese código es simplemente para tener el header y el footer separados en distintos archivos y así podamos reutilizar el código.

Ahora debemos renombrar los archivos index.jade y error.jade por .html y hacer lo mismo que la vez anterior.


Este último archivo es el formulario para añadir nuevos usuarios, y no tiene nada especial, una vez ejecutado irá contra la ruta post user donde creará un nuevo registro y redirigirá a su formulario de edición, así que vamos a crearlo.

Crea un archivo en views llamado update.html y añade el siguiente código.


Si te fijas es prácticamente igual que el anterior, aunque con matices, el valor de los campos del formulario están seteados con los datos del usuario dependiendo de la id de la url, aparte, tenemos dos campos ocultos, uno llamado _method y que sirve para decirle a express que tipo de petición vamos a hacer, en este caso put.

Ahora mismo, cuando ejecutemos el formulario éste se irá contra la ruta user que hace uso del verbo put, si quitamos el campo oculto _method irá a la ruta user pero del verbo post, que es lo que dice el atributo method del formulario.

Finalmente sólo nos queda un único archivo, el show.html, así que puedes crearlo y añadir el siguiente código con el cuál podremos ver todos los usuarios de la aplicación.


El código habla por si sólo y es sencillo, simplemente comprobamos si existen usuarios(users.length), sólo así creamos una tabla y recorremos a todos con un forEach, en otro caso(else), mostramos un mensaje conforme no hay ningún usuario.

Cómo puedes ver, tenemos otro formulario que hace uso de un campo oculto _method con el verbo DELETE, cuando pulsemos en el botón eliminar lanzará la ruta user haciendo uso del verbo delete, así ese usuario será eliminado.

Ahora ya puedes lanzar tu aplicación.


Y podrás ver el ejemplo funcionando sin ningún problema, espero que te sea útil y todo esté correcto, si es así, te agradezco que lo compartas en las redes sociales.