0Pricing
NestJS Enterprise Backend APIs · Lección

Módulos, controladores y servicios

Profundice en los componentes principales: cómo los módulos organizan el código, los controladores gestionan las solicitudes y los servicios encapsulan la lógica de negocio.

Módulos, controladores y servicios es una lección gratuita de NestJS Enterprise Backend APIs en CoddyKit. Esta es la lección 3 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de NestJS Enterprise Backend APIs, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de NestJS Enterprise Backend APIs incluye 3 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

NestJS Building Blocks

A NestJS app is built from three core blocks — Modules, Controllers, and Services — that organize code, handle requests, and hold logic.

Organizing with Modules

A Module (class with @Module()) is a feature group: it bundles related controllers and services and defines their dependency scope.

Your First NestJS Module

This AppModule shows the @Module() decorator declaring a controller and a service, making them available within its scope.

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';

@Module({
  imports: [],       // Other modules this module needs
  controllers: [AppController], // Controllers handled by this module
  providers: [AppService],   // Services (providers) available in this module
  exports: [],       // Providers to export for other modules
})
export class AppModule {}

Controllers: Handling Requests

Controllers (classes with @Controller()) handle incoming HTTP requests and return responses, delegating the heavy logic to services.

A Simple API Endpoint

This AppController uses @Get() to handle GET requests at /, calling AppService for the actual message.

import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';

@Controller() // Optional path prefix, e.g., '@Controller('users')'
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get() // Handles GET requests to '/' (or '/users' if prefix exists)
  getHello(): string {
    return this.appService.getHello();
  }
}

Services: Business Logic Hub

Services (providers marked @Injectable()) hold your business logic and DB calls — reusable units injected into controllers to keep them lean.

Your Logic in a Service

This AppService exposes a method for the controller to call. The @Injectable() decorator lets NestJS manage it via DI.

import { Injectable } from '@nestjs/common';

@Injectable()
export class AppService {
  getHello(): string {
    return 'Hello from NestJS!';
  }
}

Connecting the Dots

Dependency Injection wires it together: declare the parts in a module, ask for the service in the controller's constructor, and Nest injects it.

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
  console.log('NestJS application is running on http://localhost:3000');
}
bootstrap();

// When you visit http://localhost:3000,
// AppController's getHello() is called,
// which in turn calls AppService's getHello().

Component Roles Check

You've learned about Modules, Controllers, and Services. How well do you understand their primary roles?

Core Components Summary

You learned the core trio: Modules organize, Controllers handle requests, Services hold logic — all connected through DI. TypeORM next!

Preguntas frecuentes

¿La lección «Módulos, controladores y servicios» es gratis?

Sí — el texto completo de «Módulos, controladores y servicios» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de NestJS Enterprise Backend APIs, actualiza a CoddyKit PRO. El curso de NestJS Enterprise Backend APIs incluye 3 lecciones en total.

¿Qué aprenderé en «Módulos, controladores y servicios»?

Profundice en los componentes principales: cómo los módulos organizan el código, los controladores gestionan las solicitudes y los servicios encapsulan la lógica de negocio. Practicas NestJS Enterprise Backend APIs con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar NestJS Enterprise Backend APIs?

No se requiere experiencia previa. NestJS Enterprise Backend APIs en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 3.

¿Cuánto tiempo toma la lección «Módulos, controladores y servicios»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de NestJS Enterprise Backend APIs?

Sí. Cada lección de NestJS Enterprise Backend APIs incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Introducción al framework NestJS
  2. Estructura del proyecto y CLI
  3. Módulos, controladores y servicios
← Volver a NestJS Enterprise Backend APIs