Capa que recibe peticiones y llama a la lógica necesaria.
El controlador es la capa que actúa como intermediario entre las peticiones HTTP y la lógica de negocio. En arquitectura MVC (Model-View-Controller), es responsable de: - Recibir y parsear peticiones HTTP - Validar los datos de entrada - Llamar a los servicios correspondientes - Formatear y devolver respuestas Un buen controlador debe ser "delgado" (thin controller), delegando la mayor parte de la lógica a los servicios.
// userController.ts import { Request, Response } from 'express'; import { UserService } from '@/services/userService'; const userService = new UserService(); export const createUser = async (req: Request, res: Response) => { try { const user = await userService.createUser(req.body); res.status(201).json({ success: true, user }); } catch (error) { res.status(400).json({ error: error.message }); } }; export const getUser = async (req: Request, res: Response) => { const user = await userService.getUserWithPosts(req.params.id); if (!user) { return res.status(404).json({ error: 'Usuario no encontrado' }); } res.json(user); };