JavaScript · Sección 17

Express y diseño de APIs REST

Recursos, rutas, middleware, validación, autenticación, autorización, errores, archivos, seguridad y pruebas de integración.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Necesitas ejecutar módulos en Node.js y comprender solicitudes, respuestas y JSON.

02 / META OBSERVABLE

Al terminar deberías poder relacionar REST y rutas con Middleware y validación y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.

04 / PREPARA EL LABORATORIO

Utiliza un navegador con herramientas de desarrollo y una versión LTS de Node.js con npm. Angular y MongoDB se preparan cuando llegues a esos bloques.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan REST y rutas y Middleware y validación? +

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Diseñarás una API REST con rutas, middleware, validación, errores y seguridad en sus límites.

Al terminar podrás
  • Recurso, método y estado cuentan una historia coherente
  • Cada middleware termina la respuesta o entrega el control
  • Valida entrada, archivos, origen y autorización
01
Contrato HTTP

Recurso, método y estado cuentan una historia coherente

Una ruta identifica recursos y el método expresa la acción. POST suele crear, GET leer, PATCH modificar parcialmente y DELETE eliminar. Los códigos distinguen éxito, entrada inválida, falta de autenticación, prohibición, ausencia, conflicto y fallo interno; el cuerpo de error conserva una forma estable.

01

201 puede incluir Location del recurso creado.

02

404 no debe usarse para cualquier fallo.

03

PUT y PATCH tienen contratos diferentes.

Comprueba lo aprendido · 01

¿Qué diferencia conceptual hay entre 401 y 403?

Mostrar respuesta +

401 indica que falta autenticación válida; 403 que la identidad fue reconocida pero no tiene permiso para esa operación.

02
Middleware y errores

Cada middleware termina la respuesta o entrega el control

Middleware puede registrar, validar, autenticar o transformar. Si no responde debe llamar next; un manejador de errores usa cuatro parámetros y se ubica después de rutas. En Express moderno, un handler async que rechaza debe llegar al flujo de error según la versión y el contrato usado.

01

No envíes dos respuestas para la misma solicitud.

02

Conserva un identificador de correlación.

03

No expongas stack traces en producción.

Comprueba lo aprendido · 02

¿Qué ocurre si un middleware no responde ni llama next?

Mostrar respuesta +

La solicitud queda pendiente porque ningún manejador posterior recibe el control y el ciclo no termina.

03
Límites seguros

Valida entrada, archivos, origen y autorización

El servidor valida parámetros, cuerpo y archivos antes de usarlos. CORS controla qué orígenes pueden leer respuestas desde navegadores; no autentica. Las cargas necesitan límites de tamaño, tipo real, nombre generado y almacenamiento fuera de rutas ejecutables. Autorización se evalúa por operación y recurso.

01

Aplica límites y rate limiting según riesgo.

02

Usa TLS y cookies seguras cuando corresponda.

03

No construyas rutas ni consultas concatenando entrada.

Comprueba lo aprendido · 03

¿Activar CORS protege una ruta privada?

Mostrar respuesta +

No. CORS es una política del navegador sobre lectura entre orígenes. La API aún necesita autenticación y autorización.

Resumen de la sección

Tu recorrido en tres ideas

  1. Recurso, método y estado cuentan una historia coherente
  2. Cada middleware termina la respuesta o entrega el control
  3. Valida entrada, archivos, origen y autorización
PROFUNDIZACIÓN / LABORATORIO GUIADO

Audita una API antes de exponerla

Combina contrato HTTP, middleware, validación, autorización, archivos, errores y pruebas de integración.

CASO

La API funciona con el caso feliz, pero acepta objetos enormes, revela trazas y deja archivos cuando falla la base.

Procedimiento

  1. Especifica recursos, estados, esquemas y permisos.
  2. Centraliza validación y errores; limita cuerpo, archivo y frecuencia.
  3. Prueba identidad ausente, permiso insuficiente, conflicto, 404, caída de persistencia y limpieza.

Evidencia mínima

  • Tabla de contrato por endpoint.
  • Respuestas de error estables sin secretos.
  • Pruebas de integración y archivos sin huérfanos.
Mostrar razonamiento modelo +

Cada límite valida antes de actuar. Los errores de dominio se traducen a HTTP en un solo lugar. La carga usa nombre propio, límites y compensación si la persistencia posterior falla.

Para ir más lejos

¿Qué operación necesita una clave de idempotencia y cómo expira?

CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Responder dos veces o dejar una solicitud sin next ni respuesta.

ERROR 02

Tratar CORS como autenticación.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Diseña una API de proyectos con CRUD, validación, errores estables, carga de portada y autorización por recurso.

Mostrar pauta de corrección +
Una respuesta sólida:
  • Métodos y estados HTTP son coherentes.
  • Entrada, tamaño y tipo se validan.
  • Errores internos no filtran secretos ni stack.