Cómo crear una API REST con Express.js
Aprende cómo desarrollar una API REST utilizando Express.js, una de las herramientas más populares de Node.js para crear servicios backend modernos.
Introducción
En el desarrollo web actual, una API REST es una forma efectiva de conectar tu frontend con un backend. Express.js, un framework para Node.js, facilita esta tarea con su estructura ligera y poderosa. En este artículo, aprenderás los pasos esenciales para crear tu primera API REST usando Express.js.
¿Qué es Express.js?
Express.js es un framework minimalista de Node.js que permite desarrollar aplicaciones web y APIs con facilidad. Brinda una estructura flexible para manejar peticiones HTTP, rutas y middleware, lo que lo convierte en una opción ideal para crear servidores modernos.
Requisitos básicos
- Tener instalado Node.js y npm.
- Conocimientos elementales de JavaScript.
- Editor de código como Visual Studio Code.
Iniciando el proyecto
Crea una carpeta para tu proyecto y dentro de ella ejecuta:
npm init -y
npm install express
Configuración inicial del servidor
Crea un archivo llamado index.js
con el siguiente contenido simplificado:
const express = require('express');
const app = express();
app.use(express.json());
app.get('/', (req, res) => {
res.send('¡Bienvenido a la API!');
});
app.listen(3000, () => {
console.log('Servidor iniciado');
});
Agregando rutas básicas
Este ejemplo simula un pequeño sistema de usuarios sin conexión a una base de datos:
let usuarios = [];
app.post('/usuarios', (req, res) => {
const nuevoUsuario = {
id: usuarios.length + 1,
nombre: req.body.nombre
};
usuarios.push(nuevoUsuario);
res.status(201).json(nuevoUsuario);
});
app.get('/usuarios', (req, res) => {
res.json(usuarios);
});
Prueba de la API
Puedes usar herramientas como Postman o Thunder Client para realizar pruebas de los endpoints. También puedes probar las rutas GET directamente desde el navegador.
Conclusión
Crear una API REST con Express.js es una excelente manera de introducirte en el desarrollo backend. Con pocos pasos puedes desarrollar servicios listos para interactuar con aplicaciones frontend. Esta base te servirá para avanzar hacia proyectos más complejos que incluyan bases de datos y autenticación.