Saltar al contenidoPedro Farbo
Lección 4 / 2555 min

Rutas y Middlewares

Rutas y Middlewares

Entiende cómo organizar rutas y cómo funcionan los middlewares.

¿Qué son los Middlewares?

Los middlewares son funciones que tienen acceso a req, res y next. Se ejecutan antes de la ruta final.

typescript
const logMiddleware = (req, res, next) => {  console.log(`${req.method} ${req.path}`);  next(); // Continúa al siguiente middleware/ruta}; app.use(logMiddleware);

Orden de Middlewares

Request → Middleware 1 → Middleware 2 → Ruta → Response

Organización de Rutas

typescript
// src/routes/product.routes.tsimport { Router } from 'express'; const router = Router(); router.get('/', (req, res) => {  res.json([]);}); router.get('/:id', (req, res) => {  res.json({ id: req.params.id });}); router.post('/', (req, res) => {  res.status(201).json(req.body);}); export default router;
typescript
// src/routes/index.tsimport { Router } from 'express';import productRoutes from './product.routes';import userRoutes from './user.routes'; const router = Router(); router.use('/products', productRoutes);router.use('/users', userRoutes); export default router;
typescript
// src/app.tsimport express from 'express';import routes from './routes'; const app = express();app.use(express.json());app.use('/api', routes); export { app };

Middlewares Incorporados Útiles

typescript
// Parsear JSONapp.use(express.json()); // Parsear URL encodedapp.use(express.urlencoded({ extended: true })); // Archivos estáticosapp.use('/uploads', express.static('uploads'));

Middleware Personalizado

typescript
// src/middlewares/auth.middleware.tsimport { Request, Response, NextFunction } from 'express'; export const authenticate = (  req: Request,  res: Response,  next: NextFunction) => {  const token = req.headers.authorization?.split(' ')[1];   if (!token) {    return res.status(401).json({ error: 'Token no proporcionado' });  }   // Validar token...  next();}; // Uso en rutasrouter.get('/profile', authenticate, (req, res) => {  res.json({ user: 'data' });});

Middleware CORS

bash
npm install corsnpm install -D @types/cors
typescript
import cors from 'cors'; app.use(cors({  origin: ['http://localhost:3000'],  methods: ['GET', 'POST', 'PUT', 'DELETE'],}));

Resumen

  • ✅ Middlewares interceptan requests
  • ✅ Rutas organizadas en archivos
  • ✅ Router.use() para agrupar
  • ✅ Middlewares personalizados y de terceros

Próxima clase: Arquitectura MVC! 🚀

¿Te gustó el contenido? ¡Tu contribución ayuda a mantener todo online y gratuito!

PIX:0737160d-e98f-4a65-8392-5dba70e7ff3e