Introducción
Las APIs son el núcleo de muchas aplicaciones modernas, permitiendo la comunicación entre el cliente y el servidor. En este tutorial, aprenderás a crear una API básica utilizando Node.js y el framework Express.
Requisitos Previos
Antes de comenzar, asegúrate de tener instalado:
- Node.js (descárgalo desde https://nodejs.org/).
- Un editor de texto, como Visual Studio Code.
Paso 1: Inicializar el Proyecto
- Crea una nueva carpeta para tu proyecto y ábrela en tu terminal:
mkdir api-basica cd api-basica
- Inicializa un archivo
package.json
para gestionar dependencias:npm init -y
Paso 2: Instalar Express
- Instala Express, un framework minimalista para Node.js, como dependencia:
npm install express
Paso 3: Crear el Archivo Principal
- Crea un archivo llamado
index.js
en la raíz del proyecto:touch index.js
- Abre el archivo en tu editor de texto y escribe el siguiente código básico para inicializar el servidor:
const express = require('express'); const app = express(); // Middleware para interpretar JSON app.use(express.json()); // Ruta principal app.get('/', (req, res) => { res.send('¡Bienvenido a mi API!'); }); // Iniciar el servidor const PORT = 3000; app.listen(PORT, () => { console.log(`Servidor corriendo en http://localhost:${PORT}`); });
- Guarda el archivo.
Paso 4: Ejecutar el Servidor
- Vuelve a la terminal y ejecuta el archivo
index.js
:node index.js
- Abre tu navegador y ve a
http://localhost:3000
. Deberías ver el mensaje:¡Bienvenido a mi API!
Paso 5: Añadir Rutas
Ahora vamos a agregar algunas rutas para manejar diferentes tipos de solicitudes.
- Modifica tu archivo
index.js
para incluir más rutas:// Obtener todos los elementos app.get('/api/items', (req, res) => { res.json([ { id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }, { id: 3, name: 'Item 3' }, ]); }); // Obtener un elemento por ID app.get('/api/items/:id', (req, res) => { const itemId = parseInt(req.params.id); const item = { id: itemId, name: `Item ${itemId}` }; res.json(item); }); // Crear un nuevo elemento app.post('/api/items', (req, res) => { const newItem = req.body; res.status(201).json({ message: 'Elemento creado', data: newItem, }); });
- Guarda los cambios y reinicia el servidor:
node index.js
Paso 6: Probar la API
Para probar las rutas, puedes usar herramientas como Postman o cURL.
Probar las Rutas con cURL:
- Obtener todos los elementos:
curl http://localhost:3000/api/items
- Obtener un elemento por ID (por ejemplo, ID 2):
curl http://localhost:3000/api/items/2
- Crear un nuevo elemento:
curl -X POST -H "Content-Type: application/json" -d '{"id": 4, "name": "Item 4"}' http://localhost:3000/api/items
Paso 7: Mejorar la API (Opcional)
- Agregar un archivo
routes.js
: Mueve las rutas a un archivo separado para mantener el código organizado. - Usar una base de datos: Integra una base de datos como MongoDB o MySQL para almacenar los datos.
Conclusión
¡Felicidades! Has creado una API básica con Node.js y Express. Desde aquí, puedes expandirla agregando más rutas, conectándola a una base de datos o implementando autenticación.