Tutorial Completo para Desarrollar APIs RESTful con Node.js y Express

Tutorial Completo para Desarrollar APIs RESTful con Node.js y Express

Tutorial completo para crear una API RESTful con Node.js y Express

En este tutorial aprenderás a construir una API RESTful con Node.js y el framework Express. Está dirigido a desarrolladores de nivel intermedio que quieran fortalecer sus habilidades en el desarrollo backend y crear servicios web robustos conectados a bases de datos MongoDB, además de implementar autenticación básica.

Este tutorial cubre desde la instalación del entorno, configuración del proyecto, creación de rutas, manejo de peticiones HTTP, conexión con MongoDB, hasta la implementación de un sistema sencillo de autenticación.


Índice

  1. Introducción y requisitos
  2. Configuración del entorno y proyecto
  3. Estructura básica de una API con Express
  4. Creación de rutas y manejo de peticiones HTTP
  5. Conexión con MongoDB usando Mongoose
  6. Implementación de autenticación básica
  7. Buenas prácticas y conclusión

Introducción y requisitos

Antes de empezar, asegúrate de tener instalados los siguientes componentes en tu sistema:

  • Node.js (v14 o superior recomendado)
  • npm (administrador de paquetes de Node.js)
  • MongoDB (puede ser local o un servicio en la nube como MongoDB Atlas)

Este tutorial está enfocado en el uso de JavaScript moderno (ES6+) y herramientas comunes para el desarrollo backend.


Configuración del entorno y proyecto

1. Crear carpeta y proyecto Node.js

Abre una terminal y ejecuta:

Esto crea un proyecto básico con un archivo package.json.

2. Instalar dependencias necesarias

Vamos a instalar Express para el servidor, Mongoose para conectar con MongoDB, y otras utilidades:

  • dotenv: carga variables de entorno desde un archivo .env
  • bcryptjs: para encriptar contraseñas
  • jsonwebtoken: para generar tokens JWT

Opcionalmente, instala nodemon para desarrollo:

Y configura en package.json el script de inicio:


Estructura básica de una API con Express

Crea el archivo index.js como punto de entrada del servidor:

Ejecuta con:

Abre en tu navegador o con una herramienta como Postman http://localhost:3000/ y verás el mensaje.


Creación de rutas y manejo de peticiones HTTP

Una API RESTful consta de rutas que responden a diferentes métodos HTTP (GET, POST, PUT, DELETE).

1. Crear carpeta para rutas

Organiza el código creando carpeta /routes y un archivo users.js:

routes/users.js:

2. Importar y usar las rutas en index.js

Modifica para que tu API use las rutas:

Con esto, GET /users y POST /users estarán disponibles.


Conexión con MongoDB usando Mongoose

1. Configura variables de entorno

Crea archivo .env con:

2. Configura conexión a MongoDB en index.js

3. Crear modelo de usuario con Mongoose

En carpeta /models crea User.js:

4. Actualizar ruta POST /users para guardar usuario

En routes/users.js, importa User y bcryptjs para encriptar la contraseña:


Implementación de autenticación básica

Implementaremos un sistema de login que retorna un JWT para autenticar peticiones posteriores.

1. Crear ruta de autenticación /routes/auth.js

2. Usar ruta de autenticación en index.js

3. Crear middleware para validar token JWT

Crea archivo /middlewares/auth.js:

4. Proteger rutas con middleware

Por ejemplo, en routes/users.js protege la ruta GET /users:


Buenas prácticas y recomendaciones

  • Usa variables de entorno para gestionar configuraciones sensibles (MongoDB URI, claves).
  • Estructura modular: separa rutas, modelos, controladores y middlewares.
  • Manejo de errores adecuado: responde con códigos HTTP y mensajes claros.
  • Validación de datos: considera usar paquetes como Joi o express-validator.
  • Prueba y documenta tu API usando Postman o Swagger.

Conclusión

Con este tutorial has aprendido a crear una API RESTful con Node.js y Express, conectarte a MongoDB con Mongoose, manejar rutas y peticiones HTTP, y añadir autenticación básica con JWT.

Próximos pasos recomendados:

  • Extender autenticación con roles y permisos.
  • Implementar paginación y filtros para consultas.
  • Configurar despliegue en plataformas como Heroku o Vercel.

¡Empieza a implementar tu backend siguiendo este tutorial y mejora tus habilidades en desarrollo APIs RESTful!


Código ejemplo para iniciar el servidor (index.js completo):


¡Gracias por leer este tutorial Node.js API REST! Si te ha servido, comparte y suscríbete para más contenido de desarrollo backend paso a paso.