Hoy en día, las APIs RESTful están en todas partes. Desde la aplicación de tu banco hasta tu plataforma de streaming favorita, todo se conecta a través de APIs. Si quieres dar el siguiente paso como desarrollador, aprender a construir una API RESTful es una habilidad fundamental. En este artículo, te guiaré paso a paso para crear la tuya desde cero.
¿Qué es una API RESTful?
Primero, aclaremos el concepto. Una API (Interfaz de Programación de Aplicaciones) es un conjunto de reglas que permiten que dos aplicaciones se comuniquen entre sí. Cuando decimos que es RESTful, significa que sigue los principios de REST (Representational State Transfer), un estilo arquitectónico basado en HTTP.
En pocas palabras: una API RESTful permite que diferentes aplicaciones se comuniquen utilizando peticiones HTTP como GET, POST, PUT y DELETE.
Requisitos previos
Antes de empezar, necesitas tener algunas herramientas básicas:
- Conocimientos básicos de programación (usaremos JavaScript con Node.js).
- Node.js instalado en tu máquina.
- Postman o cURL para probar la API.
Paso 1: Configura tu entorno
- Crea una carpeta para tu proyecto:
mkdir api-restful cd api-restful - Inicializa un proyecto de Node.js:
npm init -y - Instala Express, un framework minimalista para crear APIs:
npm install express
Paso 2: Crea el servidor
Vamos a crear un servidor básico con Express.
- Crea un archivo llamado
index.js:const express = require('express'); const app = express(); app.use(express.json()); // Para manejar JSON const port = 3000; app.listen(port, () => { console.log(`API escuchando en http://localhost:${port}`); }); - Ejecuta tu servidor:
node index.js
Abre tu navegador y ve a http://localhost:3000. Por ahora no verás nada, pero el servidor ya está funcionando.
Paso 3: Crea rutas básicas
Vamos a añadir las operaciones CRUD (Crear, Leer, Actualizar, Eliminar).
- Agrega una ruta de prueba:
app.get('/', (req, res) => { res.send('Bienvenido a la API RESTful'); }); - Simula una base de datos con un arreglo:
let usuarios = [ { id: 1, nombre: 'Natalia' }, { id: 2, nombre: 'Carlos' } ]; - Crea las rutas CRUD:
Obtener todos los usuarios:
app.get('/usuarios', (req, res) => { res.json(usuarios); });Crear un usuario:
app.post('/usuarios', (req, res) => { const nuevoUsuario = req.body; nuevoUsuario.id = usuarios.length + 1; usuarios.push(nuevoUsuario); res.status(201).json(nuevoUsuario); });Actualizar un usuario:
app.put('/usuarios/:id', (req, res) => { const id = parseInt(req.params.id); const index = usuarios.findIndex(u => u.id === id); if (index !== -1) { usuarios[index] = { ...usuarios[index], ...req.body }; res.json(usuarios[index]); } else { res.status(404).send('Usuario no encontrado'); } });Eliminar un usuario:
app.delete('/usuarios/:id', (req, res) => { const id = parseInt(req.params.id); usuarios = usuarios.filter(u => u.id !== id); res.status(204).send(); });
Paso 4: Prueba tu API
Usa Postman o cURL para probar las rutas:
- GET
/usuarios: Lista todos los usuarios. - POST
/usuarios: Crea un nuevo usuario (envía un JSON connombre). - PUT
/usuarios/:id: Actualiza un usuario existente. - DELETE
/usuarios/:id: Elimina un usuario.
Paso 5: Mejora tu API
Ahora que tienes una API básica funcionando, puedes llevarla al siguiente nivel:
- Validar entradas con bibliotecas como
Joi. - Autenticación con JSON Web Tokens (JWT).
- Documentar tu API con Swagger.
- Desplegarla en plataformas como Heroku o Railway.
Construir una API RESTful desde cero no es tan complicado cuando lo divides en pasos claros. Con esta base, puedes expandir tu API según las necesidades de tu proyecto. ¡Practica, experimenta y disfruta del proceso!
