Node.js

Construyendo APIs RESTful con Node.js y Express

Aprende a crear APIs RESTful robustas y escalables utilizando Node.js y Express. Cubriremos enrutamiento, middleware, validación y mejores prácticas.

Por Giovanni Moreno 2 min de lectura
Construyendo APIs RESTful con Node.js y Express

Introducción

Las APIs RESTful son el estándar de facto para la comunicación entre servicios web. En este artículo, aprenderás a construir una API robusta utilizando Node.js y Express.

Configuración del Proyecto

Primero, creemos un nuevo proyecto Node.js:

mkdir mi-api-rest && cd mi-api-rest
npm init -y
npm install express cors helmet morgan
npm install -D nodemon

Estructura del Proyecto

Una estructura limpia es fundamental para maintainability:

src/
├── controllers/
├── routes/
├── middleware/
├── models/
├── utils/
└── app.js

Implementando el Servidor

const express = require('express');
const cors = require('cors');
const helmet = require('helmet');
const morgan = require('morgan');

const app = express();

// Middleware de seguridad
app.use(helmet());
app.use(cors());
app.use(morgan('dev'));

// Parser de JSON
app.use(express.json());

// Rutas
app.use('/api/users', require('./routes/users'));
app.use('/api/posts', require('./routes/posts'));

// Manejo de errores
app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).json({
    error: 'Algo salió mal!',
    message: err.message
  });
});

module.exports = app;

Middleware de Validación

La validación es crucial para la integridad de los datos:

const validateUser = (req, res, next) => {
  const { name, email } = req.body;

  if (!name || name.length < 2) {
    return res.status(400).json({
      error: 'El nombre debe tener al menos 2 caracteres'
    });
  }

  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  if (!email || !emailRegex.test(email)) {
    return res.status(400).json({
      error: 'Email inválido'
    });
  }

  next();
};

Conclusión

Ahora tienes las bases para construir APIs RESTful profesionales. Recuerda siempre validar los datos de entrada, implementar manejo de errores adecuado, y seguir las convenciones REST para crear APIs mantenibles y escalables.


¿Tienes preguntas? Déjame un comentario abajo o contáctame en LinkedIn.

Giovanni Moreno

Giovanni Moreno

Application Developer & AI Enthusiast

Desarrollador apasionado por crear aplicaciones web modernas y explorar las posibilidades de la IA. Comparto conocimientos y experiencias del mundo del desarrollo de software.