🔌

API REST con Express

🧑‍🍳 Cocinero⏱️ 25 minutos

📋 Prerequisitos sugeridos

  • Node.js instalado
  • JSON API Fetch completado

Lo que vas a construir

Tu primer servidor backend con Node.js y Express. Crearás una API REST completa con endpoints para listar, crear, actualizar y eliminar tareas (CRUD). Aprenderás cómo funcionan las peticiones HTTP (GET, POST, PUT, DELETE) y cómo el frontend se comunica con el backend. Al terminar, tendrás un servidor corriendo en tu computadora que responde a peticiones como una API real.


Paso 1: Pídele a una IA el código

Necesito una API REST con Express y Node.js que:
- Tenga endpoints CRUD para tareas (todos)
- Use JSON para requests y responses
- Guarde en memoria (array)
- Tenga CORS habilitado
- Puerto 3001

Dame el código completo.

Paso 2: Crea el proyecto

mkdir todo-api
cd todo-api
npm init -y
npm install express cors

Pega el código que te dio la IA en server.js


Paso 3: Ejecuta

node server.js

Paso 4: Prueba con curl

# Listar todos
curl http://localhost:3001/todos

# Crear uno
curl -X POST http://localhost:3001/todos \
  -H "Content-Type: application/json" \
  -d '{"text": "Mi primera tarea"}'

# Actualizar
curl -X PUT http://localhost:3001/todos/1 \
  -H "Content-Type: application/json" \
  -d '{"completed": true}'

# Eliminar
curl -X DELETE http://localhost:3001/todos/1

Código típico

const express = require('express')
const cors = require('cors')
const app = express()

app.use(cors())
app.use(express.json())

let todos = []
let nextId = 1

app.get('/todos', (req, res) => {
  res.json(todos)
})

app.post('/todos', (req, res) => {
  const todo = { id: nextId++, ...req.body, completed: false }
  todos.push(todo)
  res.status(201).json(todo)
})

app.listen(3001, () => console.log('API en puerto 3001'))

Métodos HTTP

MétodoUso
GETLeer datos
POSTCrear nuevo
PUTActualizar existente
DELETEEliminar

Si algo falló

ErrorCausaSolución
EADDRINUSEPuerto ocupadoCambia el puerto
Cannot find moduleFalta dependencianpm install
CORS errorCORS no habilitadoAgrega app.use(cors())

Próximo paso

CLI Tool con Python — Automatiza con Python