Cómo escribir una API REST en JavaScript en 30 minutos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción: REST API en JavaScript — rápido y sencillo

El desarrollo web moderno es impensable sin API. REST (Representational State Transfer) es el estilo arquitectónico más popular para crear servicios web. Si quieres crear rápidamente un backend para tu aplicación o aprender los fundamentos del desarrollo del lado del servidor, Node.js y Express son la elección ideal.

En este artículo escribiremos en 30 minutos una REST API completa en JavaScript. Aprenderás cómo configurar el servidor, organizar las rutas (routing), implementar operaciones CRUD (Create, Read, Update, Delete) y probar la API con Postman. Sin teoría innecesaria — solo práctica. ¡Vamos allá!



1. Preparación del entorno e instalación de dependencias

Antes de escribir código, asegúrate de que Node.js (versión 14 o superior) esté instalado en tu ordenador. Puedes verificarlo con el comando:

node -vnpm -v

Crea una nueva carpeta para el proyecto e inicializa package.json:

mkdir my-rest-apicd my-rest-apinpm init -y

Ahora instalaremos Express — un framework minimalista y flexible para Node.js. También instalaremos body-parser para procesar solicitudes JSON (en versiones modernas de Express viene integrado, pero para mayor claridad lo añadiremos explícitamente):

npm install express body-parser

La estructura del proyecto será simple:

  • app.js — archivo principal del servidor
  • routes/ — carpeta con las rutas
  • data/ — carpeta con datos de prueba (simulación de base de datos)


2. Creación del servidor básico con Express

Crea el archivo app.js y escribe el siguiente código:

const express = require('express');const bodyParser = require('body-parser');const app = express();const PORT = 3000;

// Middleware para procesar JSONapp.use(bodyParser.json());

// Ruta de prueba simpleapp.get('/', (req, res) => { res.send('¡REST API funcionando!');});

// Iniciar el servidorapp.listen(PORT, () => { console.log(`Servidor iniciado en http://localhost:${PORT}`);});

Inicia el servidor con el comando node app.js y abre en el navegador http://localhost:3000. Deberías ver el mensaje "¡REST API funcionando!". Felicidades, ¡acabas de crear tu primer servidor web en Node.js!

Ten en cuenta: body-parser convierte los datos entrantes al formato JSON, lo cual es necesario para las solicitudes POST y PUT.



3. Organización del routing y operaciones CRUD

Ahora agreguemos datos reales. Crea la carpeta data y dentro el archivo items.js con un array de prueba:

const items = [    { id: 1, name: 'Aprender Node.js', completed: false },    { id: 2, name: 'Escribir API', completed: true },    { id: 3, name: 'Publicar artículo', completed: false }];

module.exports = items;

Crea la carpeta routes y el archivo items.js dentro de ella. Aquí describiremos todas las rutas para trabajar con tareas (to-do list):

const express = require('express');const router = express.Router();let items = require('../data/items');

// GET /api/items — obtener todos los elementosrouter.get('/', (req, res) => { res.json(items);});

// GET /api/items/:id — obtener un elemento por IDrouter.get('/:id', (req, res) => { const id = parseInt(req.params.id); const item = items.find(i => i.id === id); if (!item) return res.status(404).json({ message: 'Elemento no encontrado' }); res.json(item);});

// POST /api/items — crear un nuevo elementorouter.post('/', (req, res) => { const newItem = { id: items.length + 1, name: req.body.name, completed: req.body.completed || false }; items.push(newItem); res.status(201).json(newItem);});

// PUT /api/items/:id — actualizar un elementorouter.put('/:i

Blogs

Book Recommendations