Crear una API sencilla con Node.js

Introducción

Node.js es un motor de ejecución de Javascript para el lado del servidor con el que podemos hacer mil y un proyectos distintos, y con un nivel de complejidad totalmente adaptable. Por ello en este artículo te voy a explicar la forma más sencilla que existe para crear una API usando Node.js.

Ten en cuenta que iré directo al grano y daré por hecho tienes Node.js listo para trabajar. Si no es así y no sabes como llevar a cabo esta instalación, revisa el artículo donde explico como instalar y configurar Node.js en tu máquina de desarrollo.

Instalación de las dependencias

Partamos por el comienzo, ve a tu carpeta de proyectos (si no tienes una ya tardas) y desde la terminal de comandos crea una carpeta para este proyecto de API sencilla con Node.js. Yo la voy a llamar "api-basica", ejecuta mkdir api-basica.

Y entra en ella con el comando cd api-basica.

Ahora inicializamos npm con el comando npm init -y.

El parámetro -y es para que no nos pregunte nada y establezca los datos por defecto. Ahora tendremos un fichero package.json con los datos del proyecto, de momento no le haremos mas caso a este archivo.

Vamos a instalar las dependencias de nuestra API sencilla con Node.js, que en nuestros caso será solo una, el framework Express.js. Para hacer la instalación ejecuta el comando npm install express

Escribiendo la API sencilla

Con esto ya tendremos instalado todo lo que necesitamos. Ahora abre tu editor de código favorito, en mi caso es Visual Studio Code, y abre la carpeta del proyecto con él. Crea un fichero de tipo javascript con el nombre que quieras, pero por costubre yo lo llamaré index.js. En él crearemos toda la lógica de la API sencilla.

Visual Studio Code
Visual Studio Code

Lo primero será añadir las dependencias de Express.js al fichero y declarar una instacia de Express en la variable app:

const express = require('express');
const app = express();

Desde este punto, la variable app hace referencia a Express y por lo tanto la tendremos que usar para armar las ditintas partes de la API.

Vamos a necesitar un número de puerto donde Node.js ejecutará la aplicación. Indica cualquier número entero entre el 1025 y el 65536. Por costumbre yo usaré el 3030. Creamos la constante llamada PORT con el número del puerto:

const PORT = 3030;

Recuerda que cada aplicación de Node.js con Express debe ejecutarse en un puerto libre por cualquier otra aplicación.

Ahora será necesario indicar a la aplicación que escuche el puerto que hemos definido. Para esto usaremos método listen de Express y le añadiremos un mensaje de respuesta cuando la aplicación haya arrancado.

app.listen(8080, () => {
console.log(`app listening port ${PORT}`);
});

Ahora podremos arrancar la aplicación, para ello desde la terminal escribe node index.js y verás algo tal que así:

terminal ejecutando la API sencilla
terminal ejecutando la API sencilla

¡Perfecto! Sabemos que la applicación está funcionando, pero recuerda que este artículo habla sobre la creación de una API sencilla, así que será necesario añadir un endpoint al que podremos llamar usando el navegador o herramientas profesionales como Postman.

¿Recuerdas que hemos dicho que la variable app hace referencia a la instancia de Express? Pues bien, usaremos un método get de esta variable para definir el endpoint.

app.get('/', (req, res, next) => {
res.send('hola mundo');
});

Al final el código completo debería de quedar así:

const express = require('express');
const app = express();

const PORT = 3030;

app.get('/', (req, res, next) => {
res.send('hola mundo');
});

app.listen(PORT, () => {
console.log(`app listening port ${PORT}`);
});

Ahora arrancamos de nuevo la aplicación con node index.js y nos vamos al navegador, donde escribimos en la barra de direcciones http://localhost:3030/ debería de aparecer el mensaje definido en app.get

resultado de ejecutar la API sencilla con Node.js
resultado de ejecutar la API sencilla con Node.js

Este artículo es un ejemplo de como crear una API sencilla con Node.js y está pensado como toma de contacto durante el proceso de aprendizaje en el mundo de la programación, poco a poco iré profundizando en el tema.

Puedes bajarte el código completo desde el repositorio de Github.