Construire des APIs RESTful avec Node.js et Express
Apprenez à créer des APIs RESTful robustes et évolutives avec Node.js et Express. Nous couvrons le routage, les middleware, la validation et les bonnes pratiques.
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
Application Developer & AI Enthusiast
Développeur passionné par la création d'applications web modernes et l'exploration des possibilités de l'IA. Partage de connaissances et d'expériences du monde du développement logiciel.