2. Explicación sobre Controladores en NestJS
2. Explicación sobre Controladores en NestJS
El propósito de un controlador es gestionar solicitudes específicas para la aplicación. El mecanismo de enrutamiento determina qué controlador gestionará cada solicitud. A menudo, un controlador tiene múltiples rutas, y cada una puede realizar una acción diferente.
Para crear un controlador básico, usamos clases y decoradores . Los decoradores vinculan las clases con los metadatos necesarios, lo que permite a Nest crear un mapa de enrutamiento que conecta las solicitudes con sus controladores correspondientes.
El texto principal explica el concepto de controladores en NestJS, que son fundamentales para manejar las solicitudes HTTP (como GET, POST, PUT, DELETE) y enviar respuestas al cliente.
¿Qué es un controlador?
Es una clase decorada con
@Controller()que gestiona las rutas de una aplicación.Su función principal es recibir una solicitud HTTP y devolver una respuesta.
NestJS usa decoradores (como
@Get(),@Post(), etc.) para definir qué método del controlador manejará cada tipo de solicitud.
Ejemplo básico de un controlador
import { Controller, Get } from '@nestjs/common';
@Controller('cats') // Ruta base: '/cats'
export class CatsController {
@Get() // Maneja solicitudes GET a '/cats'
findAll(): string {
return 'Todos los gatos';
}
}@Controller('cats')define que todas las rutas dentro de este controlador empezarán con/cats.@Get()indica que el métodofindAll()responderá a peticiones GET en la ruta/cats.
Generar un CRUD rápidamente
NestJS ofrece un comando CLI para generar automáticamente un controlador con operaciones CRUD (Create, Read, Update, Delete) y validación:
nest g resource [nombre] # Ejemplo: nest g resource usersEsto crea:
Un controlador con métodos para GET, POST, PUT, DELETE.
Un servicio (lógica de negocio).
Un módulo.
DTOs (Data Transfer Objects) para validación.
3. Enrutamiento (Routing)
El enrutamiento en NestJS se basa en decoradores:
@Get(),@Post(),@Put(),@Delete(), etc.
Se pueden definir rutas con parámetros:
@Get(':id') // Ejemplo: GET /cats/1 findOne(@Param('id') id: string) { return `Gato con ID ${id}`; }Los prefijos de ruta (como
@Controller('cats')) evitan repetir la misma ruta en cada método.
Resumen
Controladores en NestJS manejan solicitudes HTTP y devuelven respuestas.
Se definen con
@Controller()y métodos con@Get(),@Post(), etc.El enrutamiento es jerárquico y se simplifica con prefijos.
La CLI de NestJS (
nest g resource) genera código CRUD automáticamente.
Si necesitas más detalles sobre algún punto o un ejemplo práctico, ¡avísame!
Comentarios
Publicar un comentario