tenemos unos buenos años viendo como nodejs y express se ha colocado en un muy buen lugar para el backend, esto es por lo fácil que es desarrollar api rest.
Descarga y configuración

Podemos elegir la versión LTS o la Actual, generalmente descargo en versión actual, tengo que aclarar que no hay diferencia entre mac o windows.
Una vez instalado vamos a teclear en la consola lo siguiente:

Con esto vamos a ver que todo salió bien y ya podemos iniciar nuestros proyectos.
Vamos a crear una carpeta para nuestro proyecto.

Vamos a iniciar el proyecto usando npm init:
NPM es el gestor de contenidos que usa nodejs, aquí encontraremos herramientas muy útil para mejorar nuestro desarrollo, este ya viene integrado cuando instalamos nodejs

Nos pediran varios cosas, configurar nombre del paquete, la versión que vamos a tener (enter si no vas a cambiar nada), entry point es donde estará nuestra llamada principal.
una vez listo vamos a crear nuestro index.js (home).
Vamos a instalar express en nodejs abrimos la consola en el proyecto y escribimos lo siguiente:
npm i express –save

una vez instalado nodejs y express vamos a realizar el primer hola mundo
Webservices en nodejs y express
En nuestro archivo index.js vamos a copiar el siguiente código
const express = require('express'); const app = express(); app.get('/', function(req, res) { respuesta = { error: true, codigo: 200, mensaje: 'hola mundo' }; res.send(respuesta); }); app.use(function(req, res, next) { respuesta = { error: true, codigo: 404, mensaje: 'URL no encontrada' }; res.status(404).send(respuesta); }); app.listen(8888, () => { console.log("El servidor está inicializado en el puerto 8888"); });
En nodejs podemos usar var, let o const, vamos usar const para nuestras variables iniciales.
app va a ser nuestra configuración inicial y por donde vamos a llamar todo express, aquí recibimos informacion y tambien mandamos.
const app = express(); app.get('/', function(req, res) { respuesta = { error: true, codigo: 200, mensaje: 'hola mundo' }; res.send(respuesta); });
Podemos ver que app.get(……..) tenemos ya nuestra primera llamada api rest, recordemos que tenemos los siguientes tipos mas comunes:
- GET
- POST
- PUT
- DELETE
si por ejemplo queremos hacer llamadas de cualquier tipo rest se verian de la siguiente manera:
- app.get()
- app.post()
- app.put()
- app.delete()
estas llamadas nos piden 2 objetos mínimos, ruta de api rest y callback, por ejemplo yo quiero poner un post y para llegar a ello van a entrar en localhost:8888/hola, tendremos que poner «/hola» en nuestra llamada app.post y enseguida un function para hacer alguna tarea.
function(req, res){} o (req, res) => {} vemos que tenemos 2 atributos, req nos traer un objeto http, aquí encontraremos como la url que está buscando, informacion del body, informacion del header, res es un objeto donde dará una respuesta al que está consumiendo nuestro ws
en la consola de comando ponemos node index.js
vamos a correr nuestra aplicación y vamos a abrir nuestro navegador en localhost:8888 nos va a aparecer lo siguiente

podemos ver que con nodejs y express la sentencia res.send envía una respuesta, yo envie un objeto tipo json, pero podemos enviar texto plano.
Vamos a hacer una llamado post que se llame HOLA y envie 2 parametros
vamos a instalar npm i body-parse –save para ser más fácil obtener información de http-body
codigo completo:
const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.get('/', function(req, res) { respuesta = { error: true, codigo: 200, mensaje: 'Punto de inicio' }; res.send(respuesta); }); app.get('/mensaje', function(req, res) { res.send('<h1> Mi primer WS</h1>' + '<p>esto recibio del parametro a: </p>' + req.query.a + '<p>esto recibio del parametro b: </p><b>' + req.query.b + '</b><h2>Adios</h2>'); }); app.post('/hola', (req, res) => { console.log(req.body) var { a, b } = req.body; respuesta = { error: true, codigo: 200, mensaje: { a: a, b: b, texto: a + ' - ' + b } }; res.send(respuesta); }); app.use(function(req, res, next) { respuesta = { error: true, codigo: 404, mensaje: 'URL no encontrada' }; res.status(404).send(respuesta); }); app.listen(8888, () => { console.log("El servidor está inicializado en el puerto 8888"); });
si abrimos postman y llamamos a localhost:8888/hola y mandamos un el body lo siguiente y le damos enviar, podemos ver nuestra respuesta.
funcion al que llama
app.post('/hola', (req, res) => { console.log(req.body) var { a, b } = req.body; respuesta = { error: true, codigo: 200, mensaje: { a: a, b: b, texto: a + ' - ' + b } }; res.send(respuesta); });
respuesta:

Podemos crear HTML enviando en send los tag correspondiente por ejemplo:
app.get('/mensaje', function(req, res) { res.send('<h1> Mi primer WS</h1>' + '<p>esto recibio del parametro a: </p>' + req.query.a + '<p>esto recibio del parametro b: </p><b>' + req.query.b + '</b><h2>Adios</h2>'); });
si entramos en el navegador de la siguiente manera vamos a ver
url: http://localhost:8888/mensaje?a=hola%20se%C3%B1ores&b=como%20estas

Con esto podemos ver que de forma muy rápido ya tenemos varias llamadas api rest.
En siguientes post vamos a profundizar un poco más en conexión a mongodb, otro tipos de llamadas post y creaciones de archivos
no olvides en unirte en nuestro grupo de telegram
Si tienen dudas o mejoras no duden en ponerlo en los comentarios
[…] estas acá pero nunca haz creado algo en nodeJS te recomendamos pasar por este post donde explicamos los primeros pasos para crear tu […]
[…] Primeros pasos […]
[…] en mente el post anterior, vamos a agregar una nueva llamada del tipo post que va a cargar una […]