Cómo crear una API REST con Node.js y Express paso a paso
Una API REST permite que distintas aplicaciones intercambien datos mediante solicitudes HTTP. Una página web, una aplicación móvil y otro servicio pueden comunicarse con el mismo backend si conocen sus rutas, los datos que reciben y las respuestas que deben esperar.
Antes de escribir código
Necesitas Node.js instalado y una carpeta vacía para el proyecto. Crea el proyecto con npm init -y e instala Express con npm install express. La documentación de Express es la referencia principal para ampliar esta guía.
El servidor mínimo
const express = require('express');
const app = express();
const port = 3000;
app.use(express.json());
app.get('/api/saludo', (req, res) => {
res.json({ mensaje: 'Hola desde la API' });
});
app.listen(port, () => {
console.log('Servidor activo en http://localhost:' + port);
});
El middleware express.json() permite interpretar cuerpos JSON. La ruta GET /api/saludo devuelve una respuesta que puedes probar desde el navegador o con curl.
Crear una colección temporal
const tareas = [
{ id: 1, titulo: 'Leer la documentación', completada: false },
{ id: 2, titulo: 'Probar la ruta GET', completada: true }
];
app.get('/api/tareas', (req, res) => {
res.json(tareas);
});
Esta colección vive en memoria y se pierde al reiniciar el servidor. Sirve para comprender el flujo, pero un proyecto real necesita una base de datos, validación y autenticación.
Recibir datos con POST
app.post('/api/tareas', (req, res) => {
const { titulo } = req.body;
if (!titulo || titulo.trim() === '') {
return res.status(400).json({ error: 'El título es obligatorio' });
}
const nuevaTarea = { id: tareas.length + 1, titulo: titulo.trim(), completada: false };
tareas.push(nuevaTarea);
res.status(201).json(nuevaTarea);
});
La validación básica evita guardar una tarea vacía. El código de estado 201 comunica que se creó un recurso. En una aplicación grande conviene validar también el tamaño y el tipo de cada campo.
Errores y diseño de rutas
Usa nombres coherentes, como /api/tareas, y reserva los verbos HTTP para expresar la operación: GET para leer, POST para crear, PUT o PATCH para modificar y DELETE para eliminar. Devuelve errores con un código apropiado y no envíes contraseñas ni claves privadas en las respuestas.
Qué falta para producción
- Persistencia con una base de datos.
- Autenticación y autorización.
- Validación completa de entradas.
- Variables de entorno.
- Registro de errores y pruebas automatizadas.
- HTTPS y límites contra abuso.
Conclusión
Una API útil no se define por tener muchas rutas, sino por ser predecible, segura y fácil de mantener. Empieza con pocos recursos, documenta cada endpoint y prueba también los casos de error.
Fuentes
Si quieres conocer otros artículos parecidos a Cómo crear una API REST con Node.js y Express paso a paso puedes visitar la categoría Desarrollo web.
Deja una respuesta

También puede gustarte: