Fundamentos iniciales
Modulos Agrupa elementos relacionados: controladores, servicios, proveedores, etc. Todo proyecto empieza por el módulo raíz: AppModule. import { Module } from '@nestjs/common'; import { UserModule } from './user/user.module'; @Module({ imports: [UserModule], }) export class AppModule {} Controladores Se encargan de recibir las solicitudes HTTP (GET, POST, etc.) y devolver respuestas. import { Controller, Get, Post, Body } from '@nestjs/common'; import { UserService } from './user.service'; @Controller('users') export class UserController { constructor(private readonly userService: UserService) {} @Get() findAll() { return this.userService.getAllUsers(); } @Post() create(@Body() userData: any) { return this.userService.createUser(userData); } } Servicios Contienen la lógica de negocio y se inyectan en los controladores u otros servicios. import { Injectable } from '@nestjs/common'; @Injectable() export class UserService { private users = []; getAllUsers() { return this.users; } createUser(user: any) { this.users.push(user); return user; } }

Modulos
Agrupa elementos relacionados: controladores, servicios, proveedores, etc. Todo proyecto empieza por el módulo raíz: AppModule
.
import { Module } from '@nestjs/common';
import { UserModule } from './user/user.module';
@Module({
imports: [UserModule],
})
export class AppModule {}
Controladores
Se encargan de recibir las solicitudes HTTP (GET, POST, etc.) y devolver respuestas.
import { Controller, Get, Post, Body } from '@nestjs/common';
import { UserService } from './user.service';
@Controller('users')
export class UserController {
constructor(private readonly userService: UserService) {}
@Get()
findAll() {
return this.userService.getAllUsers();
}
@Post()
create(@Body() userData: any) {
return this.userService.createUser(userData);
}
}
Servicios
Contienen la lógica de negocio y se inyectan en los controladores u otros servicios.
import { Injectable } from '@nestjs/common';
@Injectable()
export class UserService {
private users = [];
getAllUsers() {
return this.users;
}
createUser(user: any) {
this.users.push(user);
return user;
}
}